gpt4 book ai didi

c# - C# 中的 Lambda 表达式与 If\Else

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

我构建了一个按复杂条件对表进行排序的 SQL 查询。这是一个具有相同原理的示例:(Table Toto include 3 cols: id ,num1,num2)

select  t.id 
from Toto as t
group by t.id
order by sum(case when t.id<100 Then t.num1 ELSE t.num2 END)

我的问题是,是否可以选择在 Lambda 中编写此查询?(使用 when\else)

谢谢!

最佳答案

它看起来像这样:

db.Toto 
.GroupBy(t => t.id)
.OrderBy(g => g.Sum(t => t.id<100 ? t.num1 : t.num2)
.Select(g => g.Key) // since you're grouping by Id

它更简洁:

db.Toto 
.GroupBy(t => t.id)
.OrderBy(g => g.Sum(t => {
if (t.id<100)
return t.num1;
else
return t.num2;
}
)
.Select(g => g.Key) // since you're grouping by Id

关于c# - C# 中的 Lambda 表达式与 If\Else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20149494/

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