c# - 从列表 C# 中查找不同的元素

标签 c# list distinct-values

我有一个类叫 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/

相关文章:

algorithm - 给定一个数字,产生另一个每次都相同且与所有其他结果不同的随机数

c# - MongoDB C#如何按多个不同的字段过滤文档?

c# - 在 C# 中高效查找二维数组 T[][] 中的唯一元素

c# - 无法将 `System.Windows.Forms` 引用添加到我的 WCF 服务库

c# - 在一种形式中使用两个数据表

c# - 帮助编写文件夹结构的算法

python - 列表列表 : find combinations of elements

c# - .net 3.5 中是否有元组之类的东西

c# - 实例化一个类对象并初始化一个列表

c# - TypeBuilder 中缺少 CreateType。如何移植这个?