1
1
你想要这样的东西吗?
可以组合成
以这样的方式:
|
2
1
您将要学习如何使用groupby()分组;转到 101 LINQ Samples: Grouping Operators . public class Record { public int colA; { get; } public int colB; { get; } } ... // this extension method will clean up our searching within the group clause public static Record Select99OrFirst(this IEnumerable<Record> source) { var item = source.FirstOrDefault(r => r.colB == 99); return (null != item) ? item : source.First(); } ... IEnumerable<Record> data; var query = data.GroupBy(r => r.colA) .Select(g => new { Year = g.Key, Value = g.Select99OrFirst().colB }) .OrderByDescending(x => x.Year); Console.WriteLine("colA/tcolB"); foreach (var item in query) Console.WriteLine(item.Year + "/t" + item.Value); 这将为您提供匿名对象,分别具有cola和colb的Year属性和Value属性。如果在一年组中找不到99条记录,则每个记录都代表该组中的第一条记录。 |
Imad · Linq扩展方法没有使用Object类的Equals 1 年前 |
user8512043 · 根据每个元素中的数字对列表进行排序 2 年前 |
Nick Fleetwood · 调度语法的LINQ查询 2 年前 |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
Drago · Linq通过比较Id和具有Id的对象列表来查询获取列表 2 年前 |