【发布时间】:2014-02-15 04:13:47
【问题描述】:
我以前没有做过很多 LINQ,所以我经常发现某些方面令人困惑。最近有人使用 GroupBy 运算符创建了一个如下所示的查询。他们是这样做的:
List<int> ranges = new List<int>() {100, 1000, 1000000};
List<int> sizes = new List<int>(new int[]{99,98,10,5,5454, 12432, 11, 12432, 992, 56, 222});
var xx = sizes.GroupBy (size => ranges.First(range => range >= size));
xx.Dump();
基本上我对键表达式的工作方式非常困惑,即 range.First(range => range >= size
谁能解释一下?是否可以进一步分解以使其更易于理解?我认为 First 会产生一个结果。
提前致谢。
【问题讨论】: