我有一个以下格式的类(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/

10-12 12:44
查看更多