gpt4 book ai didi

C#类列表之间的区别

转载 作者:行者123 更新时间:2023-11-30 18:21:09 25 4
gpt4 key购买 nike

我在获取 C# 中的 2 个列表之间的区别时遇到了问题。

我怎样才能得到差异?我试过 Except 但我没有得到我想要的结果。

例如:这些产品是账单的一部分

class Product {
public int id_prod;
public int quantity;
public float price;
}

Product prd1 = new Product(){1,2,34};
Product prd2 = new Product(){2,5,20};
Product prd3 = new Product(){3,6,14};
Product prd4 = new Product(){4,9,8};
Product prd5 = new Product(){5,12,70};
Product prd1b = new Product(){1,60,34};


List<Product> oldLst = new List<Product>(){ prd1,prd2,prd3};
List<Product> newLst = new List<Product>(){ prd1b,prd2,prd4,prd5};

请注意,旧 prd1 和新 prd1 之间的数量可能会发生变化

我的问题是当我使用 var lstToDel = oldLst.Except(newLst);

lstToDel 用 oldLst 填充,没有区别。

期望的结果是

lstToDel = new List<Product>(){prd1,prd3};

最佳答案

Except 也接受 IEqualityComparer。创建一个以确定哪些产品“相同”,即具有相同的属性。查看更多:https://msdn.microsoft.com/en-us/library/bb336390.aspx

关于C#类列表之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36058394/

25 4 0
文章推荐: c# - 我如何从 Func 转换为 Func c#