gpt4 book ai didi

c# - 在 LINQ 格式之间转换

转载 作者:行者123 更新时间:2023-11-30 20:13:26 25 4
gpt4 key购买 nike

谁知道怎么写

var q = from c in customers
join o in orders on c.Key equals o.Key
select new {c.Name, o.OrderNumber};

采用这种语法风格?

var 1= customers.
.join(???)
.select(???)

几天来,我一直在谷歌上寻找一种方法来做到这一点,现在幸运了。对于教程,每个人都喜欢第一种语法,但我发现第二种语法在阅读时更容易确定操作顺序。

最佳答案

编译器翻译过程涉及使用“透明标识符”,使当前客户和订单可用于 Select 方法。您可以通过自己制作来模拟这一点:

customers.Join(orders, c => c.Key, o => o.Key, (c, o) => new { c, o })
.Select(x => new { x.c.Name, x.o.OrderNumber });

相反,您可以将 Name/OrderNumber 投影上移到 Join 调用中:

customers.Join(orders, c => c.Key, o => o.Key, (c, o) => new { c.Name, o.OrderNumber });

关于c# - 在 LINQ 格式之间转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1579682/

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