c#/수업 과제

역직렬화

yeeendy 2023. 1. 13. 02:18
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.Serialization.Formatters.Binary;

namespace Homework
{
    class App
    {
        //생성자
        public App()
        {
            //역직렬화
            //바이트 배열을 개체 인스턴스로 만드는 것
            Stream stream = new FileStream("./my_item.dat", FileMode.Open);
            //역직렬화
            BinaryFormatter bf = new BinaryFormatter();
            Item item = (Item)bf.Deserialize(stream);
            Console.WriteLine(item);
            Console.WriteLine("{0}, {1}", item.Name, item.Damage);

        }
    }
}

↑수업내용

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

using Newtonsoft.Json;

namespace Homework
{
    class App
    {
        //생성자
        public App()
        {
            string json = File.ReadAllText("./my_item.json");
            
            Item item = JsonConvert.DeserializeObject<Item>(json);
            Console.WriteLine(item);
            Console.WriteLine("name : {0}, damage :{1}", item.Name, item.Damage);
        }
    }
}
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

using Newtonsoft.Json;

namespace Homework
{
    class App
    {
        //생성자
        public App()
        {
            //역직렬화 
            //문자열 -> 객체 
            string jason = File.ReadAllText("./dagger.json");
            //역직렬화 
            Item item = JsonConvert.DeserializeObject<Item>(jason);
            Console.WriteLine("{0},{1}", item.name, item.damage);
        }
    }
}

다른 블로그 참고해도 잘 모르겠다.

그냥 틀을 외워둬야 할 것 같다.

외우고 보자

'c# > 수업 과제' 카테고리의 다른 글

원격수업 c# 과제(인벤토리)  (1) 2023.01.25
직렬화  (0) 2023.01.13
List<T> 를 이용한 인벤토리 만들기  (0) 2023.01.11
인벤토리 만들기2  (0) 2023.01.09
버스트  (0) 2023.01.06