类型后面加?的问题

先看示例:

static void Main(string[] args)
{
int? aa=null;
Console.WriteLine(aa ?? -1);
Console.Read();
}

这里定义了一个可空的整型aa,并给它赋值为null,然后输出。

     一个问号表示这个类型可以为null,2个问号表示这个类型如果为空的话,给此类型赋予问号后面的值.

复制代码
static void Main(string[] args)
{
int? aa=null;
int? bb = 1;
Console.WriteLine(aa ?? -1);
Console.WriteLine(bb ?? -1);
Console.Read();
}
复制代码

控制台输出-1,1。

     这个?实际上是泛型Nullable<T>   msdn解释有具体的应用。

原文地址:https://www.cnblogs.com/amylis_chen/p/2814756.html