gpt4 book ai didi

LINQ 扩展方法 .SelectMany() 以另一种形式编写

转载 作者:行者123 更新时间:2023-12-04 03:29:13 28 4
gpt4 key购买 nike

如何以另一个 .SelectMany() 形式编写此 LINQ 表达式?

var result = 
from a in numbersA
where a < 3
from b in numbersB
where b < 5
select new { a, b };

?

var result = numbersA.Where(x => x < 3).Select ..?

最佳答案

这是编译器将执行的操作的粗略翻译:

var result = numbersA.Where(a => a < 3)
.SelectMany(a => numbersB, (a, b) => new { a, b })
.Where(z => z.b < 5)
.Select(z => new { z.a, z.b });

现在您可以更有效地编写它:

var result = numbersA.Where(a => a < 3)
.SelectMany(a => numbersB.Where(b => b < 5),
(a, b) => new { a, b });

...但这不是编译器会做的。目前尚不清楚您的目标是查看编译器执行的操作,还是仅编写查询。

关于LINQ 扩展方法 .SelectMany() 以另一种形式编写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12958442/

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