LINQ中长和类的求和方法

Kou*_*osh 8 c# linq

如何获得长类型的一些项目的总和...这是mycode:

using (gEn myEntities = new gEn)
{
var load = (from items in myEntities.Orders
select items.PayO).DefaultIfEmpty(0).Sum();
}
Run Code Online (Sandbox Code Playgroud)

但是Sum给了我int ...我也想知道当使用long类型时,DefaultIfEmpty方法是否与Sum方法有任何冲突...提前感谢...

D S*_*ley 12

Sum返回返回中使用的表达式的任何类型select(假设它是已定义的重载之一).如果你想返回一个long然后施放items.PasO:

var load = (from items in myEntities.Orders
select (long)(items.PayO)).DefaultIfEmpty(0).Sum();
Run Code Online (Sandbox Code Playgroud)

我还想知道当使用long类型时,DefaultIfEmpty方法是否与Sum方法有任何冲突

不,DefaultIfEmpty适用于任何类型,包括long.只要Sum该类型存在过载,它就可以正常工作.