如何使用扩展方法调用重新表达此LINQ查询表达式?
public static List<Tuple<int, int>> Concat()
{
return (from x in Enumerable.Range(1, 3)
from y in Enumerable.Range(4, 3)
select new Tuple<int, int>(x, y)).ToList();
}
答案 0 :(得分:10)
return Enumerable.Range(1, 3).SelectMany(x => Enumerable.Range(4, 3)
.Select(y => new Tuple<int, int>(x, y))).ToList();
您的版本看起来更具可读性: - )
答案 1 :(得分:2)
Enumerable.Range(1, 3).SelectMany(
i => Enumerable.Range(4, 3),
(i, j) => new Tuple<int, int>(i, j)
).ToList();