单问号?是System.Nullable<T>的缩写形式,表示变量是否可以为null 双问号??在赋值时使用,表示当??左边的值不为空时取左边的值,否则取右边的值 using System; class Test { public static void Main() { int? a = null; try { int b = a ?? 23; Console.WriteLine("a = " + a + " b = " + b); } catch (Exception e) { Console.WriteLine(e.Message); } } }