在值类型后面添加问号有什么作用
读源代码时发现这样的语法,不明白,请高人指教
Int32? ret = ClassDBUtil.GetReturnInt32(oraCmd, "out_Num");
------解决方案--------------------Int32? ret = ClassDBUtil.GetReturnInt32(oraCmd, "out_Num");
说明返回值除了可以Int32,还可以是null
c# 2.0新增功能
------解决方案--------------------可空类型
这个一般用在这种情况下
int a = null;
if(a==null)
{
//do something
}
那为什么不用0或其他数判断呢?
if(a==0)
{
//do something
}
你可以想一下如果a==0的时候我们需要为他定义其他操作呢?
if(a==null)
{}
else
{
//do something(a==0、a==1……)
}