gpt4 book ai didi

c# - 使用 lambda 表达式进行复合选择

转载 作者:太空狗 更新时间:2023-10-29 17:48:38 25 4
gpt4 key购买 nike

lambda 表达式中以下代码片段的等价物是什么?

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 };

最佳答案

这是一个使用方法语法(相对于查询语法)的 LINQ 表达式:

int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 }; 
int[] numbersB = { 1, 3, 5, 7, 8 };

pairs = numbersA
.SelectMany(_ => numbersB, (a, b) => new { a, b })
.Where(x => x.a < x.b);

原始查询被翻译成这样:

int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 }; 
int[] numbersB = { 1, 3, 5, 7, 8 };

pairs = numbersA
.SelectMany(_ => numbersB, (a, b) => new { a, b })
.Where(x => x.a < x.b)
.Select(x => new { x.a, x.b });

不过,最后一个 Select 不是必需的,可以删除。

关于c# - 使用 lambda 表达式进行复合选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7188014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com