当我的模型有价值观,我可以很容易地使用此代码Linq如何获得平均值当所有值等于null或0? MVC
@Model.Where(a => a.count!= null).Average(a => a.totalday).ToString()
例如获得平均:
count = 7 totalday= 3 average= 2.33
但是,当我的模型值等于空我不能得到平均值或零。正如你所知道的,我们不能将0分成0或者把null分成null。
我的意思是;
count = 0 or null; totalday= 0 or null; average= ????
如果所有的值都是空的,我怎么能写我的表为“0”或像一个字符串“没有任何平均”
我试过很多东西,但我得到一个错误。
你可以尝试'以下@ Model.Where(A => a.count!= NULL).DefaultIfEmpty(0)。平均(A => a.totalday)的ToString()'? – chridam 2014-09-10 11:10:16
感谢您的快速回复。我得到这个错误: 在“.... dll”中发生类型'System.NullReferenceException'的异常,但未在用户代码中处理 – ispanak 2014-09-10 11:14:12
这是因为无论Model返回的默认值是否为null。要么提供另一个默认值,要么使用我在第一个项目下使用'totaldays'的解决方案。 – Dirk 2014-09-10 11:19:15