?:单问号 (int?代表取值范围是 int+null)
1.定义数据类型可为空。可用于对int,double,bool等无法直接赋值为null的数据类型进行null的赋值
2.用于判断对象是否为空,如果对象为空,则无论该对象调用什么皆不会抛出异常,直接返回null
??:双问号 可用于判断一个变量在为null时返回一个指定的值
a??1 等价于 a==null?1:a
class Program
{
static int? x = null; //定义可空类型变量
static int? y = x ?? 100; // x ?? 100等价于 x==null?100:x
static void Main(string[] args)
{
Console.WriteLine(y.ToString());
Console .ReadKey ();
}
}