如何将以下内容转换为lambda表达式(方法语法)
本文关键字:表达式 lambda 方法 语法 转换 | 更新日期: 2023-09-27 18:14:38
int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 };
int[] numbersB = { 1, 3, 5, 7, 8 };
var pairs =
from a in numbersA
from b in numbersB
where a < b
select new { a, b };
你可以尝试这样做:
var pairs = numbersA.SelectMany(a => numbersB.Where(b => b>a)
.Select(b => new { a, b }));
请查看这个。net Fiddle
SelectMany
是什么?
将序列中的每个元素投影到IEnumerable中,并平坦化将结果序列合并为一个序列。
因此,从包含当前a
与numbersB
数组中所有大于a
的数字之间的所有组合的SelectMany
的结果中,我们选择具有两个属性的匿名类型a
和b
。对numbersA
中的所有数字执行此操作,我们得到了我们想要的