我有一个查询语法表达式,我无法将其转换为扩展方法语法表达式。
这是原始表达:
List<int> arr1 = new List<int>();
List<int> arr2 = new List<int>();
var nerArr = from a1 in arr1
from a2 in arr2
let sum = a1 + a2
where sum > 10
where sum < 20
select new { a1, a2, sum };
感谢。
答案 0 :(得分:0)
与往常一样,使用Method语法更简单 - 虽然交叉连接看起来有点奇怪
var nerArr2 = arr1.Join(arr2, x => true, y => true, (a1,a2) => new {a1,a2,sum=a1+a2})
.Where(x => x.sum > 10 && x.sum <20);
实例(显示原始和此实现):http://rextester.com/MSY85791
您也可以使用SelectMany
执行此操作,如其他地方所述。