c#/수업 내용
230113
yeeendy
2023. 1. 13. 13:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using System.IO;
namespace Study13
{
class App
{
//생성자
public App()
{
string json = File.ReadAllText("./item_price.json");
ItemPrice[] itemPrices = JsonConvert.DeserializeObject<ItemPrice[]>(json);
foreach(ItemPrice price in itemPrices)
{
Console.WriteLine("{0} {1} {2}", price.id, price.name, price.price);
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using System.IO;
namespace Study13
{
class App
{
//생성자
public App()
{
List<Item> items = new List<Item>();
items.Add(new Item("딸기맛 츄러스 그네", 1200));
items.Add(new Item("초코그늘 벤치", 1200));
items.Add(new Item("링쿠키 울타리", 1200));
items.Add(new Item("롤케이크 가든 테이블", 1200));
items.Add(new Item("롤케이크 화단", 1200));
items.Add(new Item("초코막대 건조대", 1200));
string json = JsonConvert.SerializeObject(items);
Console.WriteLine(json);
//[{"id":0,"name":"딸기맛 츄러스 그네","price":1200},{"id":0,"name":"초코그늘 벤치","price":1200},{"id":0,"name":"링쿠키 울타리","price":1200},{"id":0,"name":"롤케이크 가든 테이블","price":1200},{"id":0,"name":"롤케이크 화단","price":1200},{"id":0,"name":"초코막대 건조대","price":1200}]
File.WriteAllText("./my_items.json", json);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using System.IO;
namespace Study13
{
class App
{
//생성자
public App()
{
string json = File.ReadAllText("./item_price.json");
ItemPrice[] itemPrices = JsonConvert.DeserializeObject<ItemPrice[]>(json);
foreach(ItemPrice price in itemPrices)
{
Console.WriteLine("{0} {1} {2}", price.id, price.name, price.price);
}
//특정 아이템 찾기
ItemPrice foundPrice = null;
int searchId = 100;
foreach(ItemPrice price in itemPrices)
{
if(searchId == price.id)
{
foundPrice = price;
break;
}
}
if(foundPrice != null)
{
Console.WriteLine("아이템 있음!");
Console.WriteLine("{0} {1} {2}", foundPrice.id, foundPrice.name, foundPrice.price);
}
else
{
Console.WriteLine("아이템({0}) 없음 ㅠ", searchId);
}
}
}
}
↓여기 뭔가 꼬였다. 다시 확인해볼 것
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using System.IO;
namespace Study13
{
class App
{
//생성자
public App()
{
string json = File.ReadAllText("./item_price.json");
ItemPrice[] itemPrices = JsonConvert.DeserializeObject<ItemPrice[]>(json);
//키로 즉시 요소를 찾을 수 있다.
Dictionary<int, ItemPrice> dicItemPrices = new Dictionary<int, ItemPrice>();
//옮겨담기
foreach(ItemPrice price in itemPrices)
{
dicItemPrices.Add(price.id, price);
}
//모든 요소 출력해보기
foreach(KeyValuePair<int, ItemPrice> pair in dicItemPrices)
{
int id = pair.Key;
ItemPrice price = pair.Value;
Console.WriteLine("{0} {1} {2}", id, price.name, price.price);
}
//키로 찾아보자
int searchItemPrice = 100;
if (dicItemPrices.ContainsKey(searchItemPrice))
{
ItemPrice foundItemPrice = dicItemPrices[searchItemPrice];
Console.WriteLine("{0} {1} {2}", foundItemPrice.id, foundItemPrice.name, foundItemPrice.price);
}
else
{
Console.WriteLine("그거({0}) 없음", searchItemPrice);
}
}
}
}
dictionary가 익숙해지면 링큐 사용해서 만들어보자