gpt4 book ai didi

linq - LinqPad 的 lambda 窗口有什么用?

转载 作者:行者123 更新时间:2023-12-02 23:46:59 25 4
gpt4 key购买 nike

我可能很愚蠢,但运行代码后似乎从未在“lambda 窗口”中显示任何内容。谁能解释一下它是如何工作的?

最佳答案

如果您使用查询语法编写查询,lambda 窗口会将查询转换为方法语法。

尝试运行示例“LINQ to SQL 怎么样?”在示例选项卡的 LINQPad 5 分钟归纳* 文件夹中。 (归纳 = LINQPad 拼写错误,不是我的!)

您的代码窗口将如下所示:

    from p in Products
let spanishOrders = p.OrderDetails.Where (o => o.Order.ShipCountry == "Spain")
where spanishOrders.Any()
orderby p.ProductName
select new
{
p.ProductName,
p.Category.CategoryName,
Orders = spanishOrders.Count(),
TotalValue = spanishOrders.Sum (o => o.UnitPrice * o.Quantity)
}

lambda 窗口将如下所示:

Products
.Select (
p =>
new
{
p = p,
spanishOrders = p.OrderDetails.Where (o => (o.Order.ShipCountry == "Spain"))
}
)
.Where (temp0 => temp0.spanishOrders.Any ())
.OrderBy (temp0 => temp0.p.ProductName)
.Select (
temp0 =>
new
{
ProductName = temp0.p.ProductName,
CategoryName = temp0.p.Category.CategoryName,
Orders = temp0.spanishOrders.Count (),
TotalValue = temp0.spanishOrders.Sum (o => (o.UnitPrice * (Decimal?)(o.Quantity)))
}
)

关于linq - LinqPad 的 lambda 窗口有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9002880/

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