我有一个类叫 Product
public class Product
{
public string Name{ get; set; }
public int ProductId{ get; set; }
}
我有一个产品列表,与
Name
相同, 但不同 ProductId
.我想从
product.Name
的列表中获得不同的产品即如果列表是
var fullproductList = {
Name: product,
ProductId: 1
}, {
Name: product,
ProductId: 2
}, {
Name: product,
ProductId: 3
};
我想要上述任何一种产品。
我想在没有这样循环的情况下实现这一点:
List<Product> distinctProducts= new List<Product>();
var distictproductName=fullSubjectList.Select(x => x.Name).Distinct().ToList();
foreach (var item in distictproductName)
{
distinctProducts.Add(fullproductList.Where(x=>x.Name==item).FirstOrDefault());
}
有什么建议?
最佳答案
通过使用 MoreLinq
您可以使用 Distinct
与 lambda:
fullSubjectList.DistinctBy(x => x.Name).ToList();
关于c# - 从列表 C# 中查找不同的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15539809/