C# List去重

2021-01-18 19:34

阅读:981

List companys = new List();//公司实体Company,字段-公司名称,公司地址,电话
companys.Add(new Company("龙龙股份有限公司", "固戍北辰路666号"));
companys.Add(new Company("龙龙股份有限公司", "固戍放飞路三号"));//最后结果,重复项,此条数据删除
companys.Add(new Company("军军股份有限公司", "固戍路甲八号"));

#region 方式一
//方式一:Lambda表达式去重
List companyList1 = companys.Where((x, i) => companys.FindIndex(z => z.CompanyName == x.CompanyName) == i).ToList();
#endregion

#region 方式二
//方式二:List中的元素实现IEquatabe接口,并提供Equals方法和GetHashCode方法。
List companyList2 = companys.Distinct().ToList();
#endregion

#region 方式三
//方式三:通过循环方式去重
List companyList3 = new List();
foreach (Company company in companys)
{
if (companyList3.Exists(x => x.name == company.name) == false)
{
companyList3.Add(company);
}
}
#endregion


评论


亲,登录后才可以留言!