c#/수업 과제
직렬화
yeeendy
2023. 1. 13. 02:11
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.Serialization.Formatters.Binary;
namespace Homework
{
class App
{
//생성자
public App()
{
Item item = new Item() { Name = "장검", Damage = 10 };
//스트림을 만든다
Stream stream = new FileStream("./my_item.dat", FileMode.Create);
//객체를 직렬화 한다.
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(stream, item);
//스트림을 닫는다.
stream.Close();
}
}
}
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.Serialization.Formatters.Binary;
namespace Homework
{
class App
{
//생성자
public App()
{
Item item = new Item() { Name = "장검", Damage = 10 };
//스트림을 만든다.
using (Stream stream = new FileStream("./my_item.dat", FileMode.Create))
{
//객체를 직렬화 한다.
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(stream, item);
}//자동으로 스트림이 닫힘
}
}
}
개념이해가 아직 안 됐다. 그냥 외우자..
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Newtonsoft.Json;
namespace Homework
{
class App
{
//생성자
public App()
{
Item item = new Item() { Name = "아대", Damage = 10 };
string json = JsonConvert.SerializeObject(item);
Console.WriteLine(json);
File.WriteAllText("./my_item.dat", json);
}
}
}
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Newtonsoft.Json;
namespace Homework
{
class App
{
//생성자
public App()
{
//객체를 만들고 직렬화 해서 JSON형식 (문자열) 파일로 저장
Item item = new Item("단검,", 5);
//직렬화 : 아이템 객체를 넣어 주면 json문자열을 반환
string json = JsonConvert.SerializeObject(item);
Console.WriteLine(json);
//저장
File.WriteAllText("dagger.json", json);
}
}
}