我有一个以下格式的类(class)推销员:
class salesman
{
public string name, address, email;
public int sales;
}
我还有另外一个类,用户输入姓名,地址,电子邮件和销售。
然后将此输入添加到列表中
List<salesman> salesmanList = new List<salesman>();
在用户向列表输入了尽可能多的推销员之后,他们可以选择将列表保存到他们选择的文件中(我可以将其限制为.xml或.txt(更合适的是))。
我如何将此列表添加到文件中?
此外,如果用户希望以后查看记录,则需要将该文件重新读回到列表中。
最佳答案
这样的事情会起作用。这使用二进制格式(加载速度最快),但是相同的代码将应用于具有不同序列化器的xml。
using System.IO;
[Serializable]
class salesman
{
public string name, address, email;
public int sales;
}
class Program
{
static void Main(string[] args)
{
List<salesman> salesmanList = new List<salesman>();
string dir = @"c:\temp";
string serializationFile = Path.Combine(dir, "salesmen.bin");
//serialize
using (Stream stream = File.Open(serializationFile, FileMode.Create))
{
var bformatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
bformatter.Serialize(stream, salesmanList);
}
//deserialize
using (Stream stream = File.Open(serializationFile, FileMode.Open))
{
var bformatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
List<salesman> salesman = (List<salesman>)bformatter.Deserialize(stream);
}
}
}
关于c# - 将对象列表写入文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16352879/