gpt4 book ai didi

c# - Linq 求和和 null

转载 作者:太空狗 更新时间:2023-10-29 18:12:27 25 4
gpt4 key购买 nike

我有一个问题:

var qq = (from c in db.tblArcadeGames
where
c.IsDeleted == false &&
c.ParentGameID == 0 &&
c.Approved == true
let aggPlays = c.Plays + db.tblArcadeGames.Where(v => v.ParentGameID == c.ID).Sum(v => (int?)v.Plays)
orderby aggPlays descending
select new { c, aggPlays })
.Skip(Skip)
.Take(Fetch);

foreach (var g in qq)
{
HttpContext.Current.Response.Write("{" + g.aggPlays + "}\n");
}

当我在上面的循环中打印出 aggPlays 时,它们显示为:

{21}
{}
{}
{}

问题似乎是,如果不存在记录,Sum() 将返回 null。我不确定如何解决这个问题,这样 c.Plays + null 就不会等于 null 而只是 c.Plays

最佳答案

您可以通过不返回 int? 来更正此问题,而是直接转换为 int:

.Sum(v => v.Plays ?? 0)

关于c# - Linq 求和和 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8663479/

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