c#/수업 내용

데이터 테이블 만들고 변환 및 불러오기(복습2)

이지훈26 2021. 9. 9. 18:20

gun_data.xlsx
0.01MB

 

 

gun_data.json
0.00MB

 

 

 

using System;
using Helloworld;

namespace HelloWorld
{
    class Program
    {

        static void Main(string[] args)
        {
            new App();
        }
    }
}



using System;
using System.IO; //File클래스 사용)
using Newtonsoft.Json;
using System.Collections.Generic; //컬렉션 사용



namespace Helloworld
{
    class App
    {
        public App()
        {
            string path = "./gun_data.json";
            string json = File.ReadAllText(path);
            Console.WriteLine(json);

            //역직렬화 하기
            //json형식에 따라 형식 매개변수가 달라진다
            GunData[] gunDatas = JsonConvert.DeserializeObject<GunData[]>(json);

            //gunDatas의 값은 gunData타입의 배열 인스턴스
            //배열 안에 요소 : GunData클래스의 인스턴스 x 5

            //키-값 컬렉션에 데이터 넣기
            Dictionary<int, GunData> dicGunDatas = new Dictionary<int, GunData>();
            foreach (GunData data in gunDatas)
            {
                dicGunDatas.Add(data.id, data);
            }

            //출력하기
            foreach(KeyValuePair<int, GunData> pair in dicGunDatas)
            {
                Console.WriteLine("key: {0}, val: {1} {2}", pair.Key, pair.Value, pair.Value.name, pair.Value.damage);
            }
        }
    }
}



using System;


namespace Helloworld
{
    class GunData
    {
        public int id;
        public string name;
        public float damage;

        
    }
}