gpt4 book ai didi

c# - 如何消除 LINQ 查询语法 foreach 中的变量声明?

转载 作者:行者123 更新时间:2023-12-02 08:31:14 24 4
gpt4 key购买 nike

使用方法语法,我可以打印来控制台所有 100 美元的订单

foreach (var order in orders.Where(o => o.Amount == 100))
Console.WriteLine("Order: {0} - Order Amount: {1}", order.OrderID, order.Amount);

但是要使用查询语法执行此操作,我必须先创建一个 var 来在 Console.WriteLine 循环之前存储结果:

var summary = from o in orders
where o.Amount == 100
select o;
foreach (var order in summary)
Console.WriteLine("Order: {0} - Order Amount: {1}", order.OrderID, order.Amount);

能否简化此查询语法以消除摘要声明?

最佳答案

您是否尝试过将查询括在括号中?

foreach (var order in (from o in orders
where o.Amount == 100
select o))

您还可以考虑在 List 上使用 ForEach 扩展(记录为 here ),如下所示:

 (from o in orders 
where o.Amount == 100
select o)
.ToList().ForEach(o => Console.WriteLine(...))

关于c# - 如何消除 LINQ 查询语法 foreach 中的变量声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16995646/

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