1. 배열
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using System.IO;
namespace Cookierun
{
class App
{
//생성자
public App()
{
Console.WriteLine("App");
string json = File.ReadAllText("./item_data.json");
ItemData[] itemDatas = JsonConvert.DeserializeObject<ItemData[]>(json);
foreach(ItemData data in itemDatas)
{
Console.WriteLine("{0}, {1}, {2}", data.id, data.name, data.price);
}
Console.WriteLine();
//특정 아이템 검색
int searchId = 3;
ItemData foundData = null;
foreach (ItemData data in itemDatas)
{
if(data.id == searchId)
{
foundData = data;
break;
}
}
Console.WriteLine("찾는중...");
if (foundData!=null)
{
Console.WriteLine("{0} 아이템 찾음", foundData.name);
Console.WriteLine("{0}, {1}, {2}", foundData.id, foundData.name, foundData.price);
}
else
{
Console.WriteLine("아이템이 없습니다. ");
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Cookierun
{
class ItemData
{
public int id;
public string name;
public int price;
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Cookierun
{
class Program
{
static void Main(string[] args)
{
new App();
}
}
}
2. Dictionary
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using System.IO;
namespace Cookierun
{
class App
{
//생성자
public App()
{
Console.WriteLine("App");
string json = File.ReadAllText("./item_data.json");
ItemData[] itemDatas = JsonConvert.DeserializeObject<ItemData[]>(json);
Dictionary<int, ItemData> dicItemDatas = new Dictionary<int, ItemData>();
foreach(ItemData data in itemDatas)
{
dicItemDatas.Add(data.id, data);
}
foreach(KeyValuePair<int, ItemData> pair in dicItemDatas)
{
int id = pair.Key;
ItemData data = pair.Value;
Console.WriteLine("{0}{1}{2}", data.id, data.name, data.price);
}
Console.WriteLine();
int searchId = 4;
if (dicItemDatas.ContainsKey(searchId))
{
Console.WriteLine("찾는중...");
ItemData foundItemData = dicItemDatas[searchId];
Console.WriteLine("{0}, {1}, {2}", foundItemData.id, foundItemData.name, foundItemData.price);
}
else
{
Console.WriteLine("키를 찾을 수 없습니다. ");
}
}
}
}
'C# > 수업내용' 카테고리의 다른 글
[ C# 11일차 ] 변하지 않는 데이터 만들기 연습2 (0) | 2023.01.13 |
---|---|
[ C# 11일차 ] JSON 직렬화/역직렬화 연습 (0) | 2023.01.13 |
[ C# 10일차 ] 파일 입출력 File.WriteAllText(String, String), File.ReadAllText(String) (0) | 2023.01.13 |
[ C# 10일차 ] File.Exists(String) (0) | 2023.01.13 |
[ C# 10일차 ] 실행시 매개변수 넣기 (0) | 2023.01.13 |