如何检查此项目是否具有值
int? b = null
if (/*b has a value*/)
//Do Work
我的朋友说尝试这个并且它有效但看起来很复杂
return (new List<int?>() { b }).Any(a => a != null);
答案 0 :(得分:1)
答案 1 :(得分:1)
Nullable支持==和!=运算符,并且它们还具有HasValue属性,只要它们实际保存值(非空),它就为true。
if(b != null)
{
// do stuff
}
或
if(b.HasValue)
{
//do stuff
}
工作方式一样。
答案 2 :(得分:0)
int? b = null;
if(b.HasValue)
{
// do your work
}
看看这个:Nullable Types (MSDN)。
使用HasValue和Value只读属性测试null并检索值,如以下示例所示:
if(x.HasValue) j = x.Value;
答案 3 :(得分:0)
您可以使用
if(b != null)
{
}
或
if(b.HasValue)
{
}
您现有的代码实际上是使用第一个代码,尽管是以非常复杂的方式。
答案 4 :(得分:0)
你可以尝试
return b==null?0:b;
答案 5 :(得分:0)
if(b!=null)
{
var c = b.Value; //Where c will be of type int
}
您可以直接使用
var c = b.GetValueOrDefault(32); //Where 32 will be given, if b is null