其他分享
首页 > 其他分享> > CodeGo.net>如何反序列化,然后将数据放入表格?

CodeGo.net>如何反序列化,然后将数据放入表格?

作者:互联网

目标

我目前有一种保存信息的有效方法

然后,我希望程序在退出后单击“加载”按钮来加载保存的状态.

然后,我希望程序将数据显示在适当的位置

在表单中,我有两个DataGridView,一个用于雇员,另一个用于主管.

================================================= ===========

方法

我已经将两个通用列表序列化为一个.dat文件

BinaryFormatter bFormatter = new BinaryFormatter();    
using (FileStream fs = new FileStream(FILENAME, FileMode.OpenOrCreate))
{
  bFormatter.Serialize(fs, employees);
  bFormatter.Serialize(fs, supervisors);
}

到目前为止,在.dat文件中,我有3名员工和2名主管,并且我不确定如何提取信息并将其放置在适当的位置

列表如下:

List<Employee> employees = new List<Employee>();
List<Supervisor> supervisors = new List<Supervisor>();

Employee e1 = new Employee(MemberJob.Employee, "Name", MemberSkills.CPlus | MemberSkills.CSharp, false);
Supervisor s1 = new Supervisor(MemberJob.Supervisor, "Another name", false); 
employees.Add(e1);
supervisors.Add(s1);

================================================== =======================

尝试

我已经在Internet和Stackoverflow上进行了广泛的研究,但主要与我的上下文无关,或者它们使用的是我不想使用的XML格式.

我认为这只是复制序列化方法并更改bFormatter.Serialize(fs,employee);的情况.到bFormatter.Deserialize(fs,employee);但是我在反序列化列表后仍然会做什么.

 BinaryFormatter bFormatter = new BinaryFormatter();
 FileStream fs = File.Open(FILENAME, FileMode.Open);
 object obj = bFormatter.Deserialize(fs);

然后,对象会带回我需要的数据,但是我无法将对象obj数据放入可用格式,如果可能的话,它会卡在对象obj中,我想尝试将其放回Employee列表中

解决方法:

我给你的圣诞节礼物.希望能帮助到你.

标签:generic-list,serialization,deserialization,binaryformatter,c
来源: https://codeday.me/bug/20191119/2034748.html