gpt4 book ai didi

c# - Linq 结果如果为空则为零

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

我该如何写这样的东西:

            int result = database
.Where(x => x.Name == "Criteria")
.Sum(x => x.Count)) ?? 0;

它将返回总和值,除非 linq 没有找到任何东西,在这种情况下它将返回 0。

编辑:该字段不可为空。

编辑 2:我正在使用 Entity Framework 。

最佳答案

您与最初的查询非常接近。您只需要转换您的 Count 变量:

int result = database
.Where(x => x.Name == "Criteria")
.Sum(x => (int?)x.Count) ?? 0;

这样做比用 Try/Catch 包装更高效和优雅。

我怀疑您正在使用 Entity Framework。如果您只是使用 Linq-to-Objects,那么其他人提供的解决方案也行得通。

关于c# - Linq 结果如果为空则为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16778694/

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