XML์ ์ฌ์ฉํ์ฌ ์ ๋ ฅํด๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์จ๋ค๋๊ฑด ์๊ฒ ๋๋ฐ
์ด๋ค ์์ดํ ์ ๋ณด๋ฅผ ๋ณด๊ณ ์ ํ ๋ ๋งค๋ฒ XML๋ฐ์ดํฐ๋ฅผ ์ฒ์๋ถํฐ ์ญย ์ฝ์ด์ ๊ทธ ์์ดํ ์ ๋ํ ์ ๋ณด๋ฅผ ์ฐพ์ง๋ ์์๊ฑฐ ๊ฐ์๋ฐ
๋งจ ์ฒ์ ๋ก๋ฉ๋ ๋ XML๋ฐ์ดํฐ๋ฅผ ๊ธ์ด์ ์ด๋๊ฐ์ ์ ์ฅํด๋์?
๋ง์ฝ ๊ทธ๋ฐ๋ค๋ฉด ์ด๋ป๊ฒ ๋ณด๊ดํด?
ํด๋์ค๋ฅผ ๋ฐ๋ก ๋ง๋ค์ด์?
๋์ ๋๋ฆฌ๋ก ๋ด์ฉ์ ์ด๋ค ๊ตฌ๋ถ์๋ฅผ ์ง์ ํด์ ๋ณด๊ดํ ํ ๋์ค์ ๋ถ๋ฌ์ฌ ๋ ๊ทธ๋๋ก ์ฝ๋๋ค๋์ง
๋ฆฌ์คํธ?
์ ๋ํฐ ์ฌ์ฉ์ค์ธ๋ฐ C#์ ์ ํํ๊ฒ ์ ๋ชฐ๋ผ์
์ผ๋จ XML์ด์ ์
ํด๋์ค๋ ๋ฆฌ์คํธ๋ก ํ ์คํธ๋ก ํ๋์ฝ๋ฉํด๋ณด๋ ค๊ณ ํ๋๋ฐ ์ ์๋๋ค.
์ฌ๋ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฅผ ํน์ ์ ์ด์ค ์ ์์๊น
์๋ฅผ ๋ค์ด ๋ฌด๊ธฐ Class์ ์ฌ๋ฌ ๋ฌด๊ธฐ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ๊ณ ์ถ๋คํ๋ฉด
public class Weapon{
public string Name
public int Damage
public int Rarity
public Weapon(string name, int damage, int rarity){
this.Name = name;
this.Damage = damage;
this.Rarity = rarity;
}
}
์ด๋ ๊ฒ ์ค์ ํด๋๊ณ
๋ณธ ํด๋์ค์์
List<Weapon> weapon = new List<Weapon>
weapon.Add("Long Sword", 12, 0)
weapon.Add( ~ )
weapon.Add( ~ )
๋์ถฉ ์ด๋ฐ ์์ผ๋ก ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด๋ณด๋ ค๊ณ ํ๋๋ฐ ์ด๊ฒ ์๋๊ฐ๋ด
์๊ฐํด๋ณด๋ฉด ์์ ์ ๊ฐํ์ํ ๋ย ๊ทธ๋ฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฟผ๋ฆฌ๋ก ์ฝ์ด์์ ๋ฐ๋ก ๋ฃ์ด๋ฒ๋ ค์ ์ด๋ฐ ๋ฐฉ๋ฒ์ ๋ํด์ ์๊ฐ์ ๋ชปํด๋ดค๋ค...
์์ ์๋ฅผ ์ฌ์ฉํ๊ณ ์ ํ ๋ ์ด๋ป๊ฒ ํ๋ฉด ๋๋์ง ๊ฐ๋จํ ์ฝ๋๋ฅผ ์ค๋ช ํด์ค ์ ์์๊น?
์๋๋ฉด ๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ด ์๋์ง๋...
๋์ผ๋๋ฆฌ
๋์ ๋๋ฆฌ๋ ๋๊ฐ ์ฐ๊ธฐ ํธํ๊ฑฐ์๋ค ์ ๋ถ ๋ฃ์ด๋๊ณ ์จ ๋๋ ๊ทธ๋.
Dictionary<string, Classname> clsdic = new Dictionary<string, ClassName> ํด์ ์ ์ฅํ๋ฉด ํ๋ ๊ทธ๋๋ก ์ ์ฅํ ์ ์๊ตฌ๋! ๊ณ ๋ง์, ๋์ ๋๋ฆฌ์ ๋ฌธ์์ด ํต์งธ๋ก ๋ฃ๊ณ ๋ถ๋ฌ์ฌ ๋ split์ผ๋ก ์ชผ๊ฐค ์๊ฐ ํ์๋๋ฐ ๊ทธ๋ฅ ํด๋์ค ๋ฃ์ด๋ ๋๋น...
๋ค์ด๊ฐ๋ ๋ฐ์ดํฐ ๋ณด๋๊น ํด๋์ค ๋์ ์ ๊ตฌ์กฐ์ฒด ์ฐ๋ ๊ฒ๋ ๊ด์ฐฎ์ ๋ฏ ํด์
๊ตฌ์กฐ์ฒด๋ struct๋ฅผ ๋งํ๋๊ฑฐ์ฃ ? C#์ฑ ์ฝ์ผ๋ฉด์ ๊ฐ์ฒด์๋ ๋ฌ๋ฆฌ "์ฐธ์กฐ๋ฅผ ํ ๋นํ์ง ์์"์ด๋ผ๊ณ ๊ธฐ๋ก์ ํด๋๋๋ฐ, ๊ณ ์ ๋ ๊ฐ์ ์ฝ์ด๋ค์ผ ๋ฟ, ์ฐธ์กฐํ์ฌ ๊ฐ์ ๋ณ๊ฒฝํ๋๊ฒ ์๋๊ธฐ ๋๋ฌธ์ ๊ตฌ์กฐ์ฒด๋ฅผ ์ฌ์ฉํด๋ ๋๋๊ฑธ๊น์.
์ฑ ์ ํ ๋ฒ ์ฝ์์ ๋ฟ ์ ํํ๊ฒ ํ์ ํ๊ฑด ์๋๋ผ... ๊ตฌ์กฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๊ฐ ๊ทธ๋ฅ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ํจ์จ์ด ์ข๋์? ์๋๋ฉด ๋จ์ง ์ฐธ์กฐํ ์ ์๋ ํด๋์ค์ ํผ๋๋์ง ์๋๋ก ๊ตฌ๋ถํ๊ธฐ ์ํ๊ฑด๊ฐ์?