1

我写了一个程序,它可以处理文件,如删除和更新、存储和搜索以及所有客户但是我的方法有一个问题是 LoadAll 一旦从文件中读取数据然后反序列化对象就变成了但是当我想要保存列表中的对象列表是重复的。如何防止此代码中的重复?

var customerStr = File.ReadAllLines (address);

代码写在CustomerDataAccess 类的DataAccess 层中。

项目文件

LoadAll Code 方法的主要问题:

      public ICollection<Customer> LoadAll()
    {
        var alldata = File.ReadAllLines(address);

        List<Customer> lst = new List<Customer>();

        foreach (var s in alldata)
        {
            var objCustomer = customerSerializer.Deserialize(s);
            lst.Add(objCustomer);
        }

        return lst;
    }
4

1 回答 1

1

CustomerSerialize 类中定义一个Field 你只需使用Deserialize 方法就可以了!每个系列都是一个系列 反序列化之前进入游戏的增值项目!(因为有引用类型)。

如果您将代码更改为:

     public Customer Deserialize(string str)
    {
        **Customer customer = new Customer();**
        var strCustomer = str.Split(',');

        customer.Id = int.Parse(strCustomer[0]);
        customer.FirstName = strCustomer[1];
        customer.LastName = strCustomer[2];
        customer.Age = int.Parse(strCustomer[3]);
        customer.Country = strCustomer[4];

        return customer;
    }
于 2013-11-06T12:43:59.100 回答