我看到了一些这样的代码
if(value == null || !(value is double || value is double?))
{
return value;
}
如果 value is double 是 true, value 是 double 吗?也应该是真的,因此我可以将代码更改为
if(value == null || !(value is double?))
{
return value;
}
我看到了一些这样的代码
if(value == null || !(value is double || value is double?))
{
return value;
}
如果 value is double 是 true, value 是 double 吗?也应该是真的,因此我可以将代码更改为
if(value == null || !(value is double?))
{
return value;
}
假设value
是object
,您可以将代码更改为:
if (value == null || !(value is double))
{
return value;
}
如果value
是盒装的double?
,它总是要么是盒装的,要么是null
盒装的double
。
请记住,您double?
可以使用在可空数据类型上查看原始值类型。因此,请记住相同的测试:Nullable<double>
GetType
if (value == null || value.GetType() != typeof(double))
{
return value;
}
自从:
double A = 1; // A.GetType() = System.Double
double? B = 1; // B.GetType() = System.Double
Nullable<double> C = 1; // C.GetType() = System.Double
所有假设第一个条件 ( value == null
) 都会使测试短路,这具有相同的结果。
Nullable<double>
与 的类型不同double
,但它的 nullDouble.Value 属性是双精度的。您包含的代码似乎表明它可以处理或