c#オブジェクトのシーケンス化と逆シーケンス化
1472 ワード
[Serializable]
class listData
{
public int ID{get;set;}
public string Name{get;set;}
}
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
List<listData> list = new List<listData>();
for (int i = 0; i < 1000; i++)
{
listData d = new listData();
d.ID = i;
d.Name = "Name" + i.ToString();
}
BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms = new MemoryStream();
bf.Serialize(ms, list);
SaveFileDialog sf = new SaveFileDialog();
sf.ShowDialog();
File.WriteAllBytes(sf.FileName, ms.GetBuffer());
}
private void button2_Click(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
open.ShowDialog();
BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms = new MemoryStream(File.ReadAllBytes(open.FileName));
foreach (listData ld in (List<listData>)bf.Deserialize(ms))
{
this.listBox1.Items.Add(ld);
}
listBox1.DisplayMember = "Name";
}