先看示例:
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解释有具体的应用。