我编写了一个程序,可以处理删除和更新,存储和搜索等文件 和所有客户 但是我的方法有问题是LoadAll 从文件中读取数据然后反序列化对象变为 但是当我想保存列表中的对象列表时会重复。 如何防止此代码中的重复?
var customerStr = File.ReadAllLines (address);
代码编写在CustomerDataAccess类DataAccess Layer中。
方法LoadAll代码的主要问题:
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;
}
答案 0 :(得分:1)
在Field中定义的CustomerSerialize类,您只需使用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;
}