如何使用lambda或linq从整数列表中的对象列表中收集多个int属性?

时间:2015-11-03 21:01:47

标签: c# linq lambda

我试过这个C#代码:

//items is the list of objects that contain the property a (int) and b(int)
var listOfInts= items.Select(p => new {p.a, p.b}).Distinct().
                            OrderByDescending(p => p.a).ToList();               

//the result is a list of a' wew {p.a, p.b} AND not a list of integers.

我只想将所有对象的这两个属性添加到一个简单的整数列表中,无论是linq还是lambda表达式。

提前致谢!

1 个答案:

答案 0 :(得分:7)

您可以使用SelectMany

var listOfInts = items.SelectMany(p => new[] { p.a, p.b })
                      .Distinct()
                      .OrderByDescending(x => x)
                      .ToList();