【问题标题】:Difficult to replicate objects (Customers) on the list?难以复制列表中的对象(客户)?
【发布时间】:2013-11-05 18:43:16
【问题描述】:

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

var customerStr = File.ReadAllLines (address);

代码写在CustomerDataAccess类DataAccess层中。

Project File

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;
    }

【问题讨论】:

    标签: c# file data-access-layer


    【解决方案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;
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-18
      • 2013-02-02
      • 1970-01-01
      • 2018-07-09
      • 2021-09-14
      • 2017-02-28
      • 1970-01-01
      相关资源
      最近更新 更多