[英]Find Distinct elements from a List C#
我有一個班級叫Product
public class Product
{
public string Name{ get; set; }
public int ProductId{ get; set; }
}
我有一個具有相同Name
但不同ProductId
。
我想從product.Name
上的列表中獲得不同的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();
將linq與group by一起使用。 這將使您與眾不同。 看看這個答案有幾個想法: LINQ:不同的價值觀
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.