如何允许平均值为空
本文关键字:平均值 何允许 | 更新日期: 2023-09-27 17:59:37
如何允许此get为null?
public double? GetSignalAverage
{
get
{
var signalaverage = Gsmdata.Select(x => x.SignalStrength)
.Average();
return Math.Round(signalaverage, 2);
}
}
SignalStrength是一个Int
检查集合是否为null或空:
public double? GetSignalAverage
{
get
{
if(Gsmdata == null || GsmData.Count() == 0)
return null;
var signalaverage = Gsmdata.Select(x => x.SignalStrength)
.Average();
return Math.Round(signalaverage, 2);
}
}
您必须将SignalStrength
声明为int?
才能允许null
值。(如果不这样做,int
将是它的默认值,即0。)但即便如此,如果有任何非null元素,Average()
也会忽略这些值(请参阅文档)。
如果它们都是null
,Average
将返回null
,您可以捕获并返回,如下所示:
double? signalaverage = Gsmdata.Select(x => x.SignalStrength)
.Average();
if(signalaverage == null)
{
return signalaverage; // which is essentially 'return null;'
}
else
{
return Math.Round(signalaverage, 2);
}