LINQ中longsum类的求和方法如何获取long类型的某些项的求和...这是mycode:using(gEnmyEntities=newgEn){varload=(fromitemsinmyEntities.Ordersselectitems.PayO).DefaultIfEmpty(0).Sum();但是Sum给了我int...我也想知道DefaultIfEmpty方法在使用long类型冲突时是否与Sum方法有任何区别...提前感谢...Sum返回select返回中使用的任何类型的表达式(假设它是其中之一定义的重载)。如果你想返回一个长的然后投items.PasO:varload=(fromitemsinmyEntities.Ordersselect(long)(items.PayO)).DefaultIfEmpty(0).Sum();我还想知道在使用long类型时DefaultIfEmpty方法是否与Sum方法有任何冲突,如果没有,DefaultIfEmpty适用于包括long在内的任何类型。只要该类型的Sum重载工作正常。如果Sum()返回一个int,那是因为这是集合的数据类型。所有这些LINQtoObject方法都是通用的。不,DefaultIfEmpty没有副作用。如果集合中没有项目,那么它将为您提供0,然后Sum将采用IEnumberable的结果,其中一项的值为0。我假设您在这里使用EF。如果是这种情况,需要在获取数据后进行转换,或者在C#端修改model,使其变长。您可能还想检查该表的数据类型是什么,因为如果您从数据源生成C#模型并且它使用的是int32,那么您的表可能就是这种类型。以上就是C#学习教程的全部内容:LINQ中longsum类的求和方法。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
