??:判断为空。上面的意思是:如果为空就赋值“”。
你上面意思是;如果接收值为空,就显示"",不为空就显示出接收值
1 int? a = null; 2 Console.WriteLine("a1:{0}", a ?? -1); 3 //out put a1:-1 4 5 a = 10; 6 Console.WriteLine("a2:{0}", a ?? -1); 7 //out put a2:10
这个是.NET3.0(好像是4.0,呵呵,具体忘记了)特有的一个运算符,只对引用型变量(含字符串)有效。
语句:
a = b ?? c
的意思是:如果b是null,那么就使用c否则使用b,把结果赋值给a。
等同于一个标准的三元运算符?:
a = b == null ? c : b;
赞同一楼的