c# - 在linq中有区别吗?

标签 c# linq distinct

我想知道我怎样才能做到这一点?

我只想从对象集合中获取不同的名称

MyObject a = new Object();
a.Name = 'One';
a.Value = '10';


MyObject b = new Object();
b.Name = 'One';
b.Value = '15';


MyObject c = new Object();
c.Name = 'Two';
c.Value = '10';

所以我只想取回名字。在这种情况下,我不关心值,只关心名称。

所以我试过了

//将所有对象添加到集合中。

myCollection.Disinct()..Select(x => new MyClassToStore() {Text = x.Name, Value = x.Name}).ToList());

但是我需要在属性级别而不是对象级别执行 distinct。所以我要回“一”和“二”。现在我得到了“一”、“一”和“二”。

我看到一个名为 morelinq 的库但我不确定是否应该使用它,因为它仍处于测试阶段,似乎不再开发。

加上用于提取查询的整个库,我不确定是否值得。

最佳答案

也许这样的事情可以提供帮助?

var distinctItems = items
     .GroupBy(x => x.PropertyToCompare)
     .Select(x => x.First());

关于c# - 在linq中有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5608127/

相关文章:

c# - 获取两个列表之间的差异

c# - LINQ 使用 ROW_NUMBER() 函数?

mysql - 如何优化跨三个表、40k 行且仅返回 22 个结果的慢速 "select distinct"查询

MySQL 查询以检索移动 DATE 期间之间的 DISTINCT COUNT

c# - 为什么不是 C# 的 memberinfo() 反射函数

c# - 使用定界符序列拆分 ICollection<T>

c# - 以 C# 形式将文本框中的信息显示到列表框中

c# - 如何将 "-optimize"与 dotnet cli 一起使用?

c# - Linq where column == (null reference) 与 column == null 不同

sql - Oracle 中的 Order By 导致 ORA-01791 : not a SELECTed expression