我想知道我怎样才能做到这一点?
我只想从对象集合中获取不同的名称
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/