您的位置:首页 > 编程语言 > C#

c# 将对象序列化和反序列化

2011-05-16 00:43 423 查看
[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";

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: