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