c# 运算符:? ,??

参考微软帮助

1  ?  空值条件运算符,用于在执行成员访问 (?.) 或索引 (?[) 操作之前,测试是否存在 NULL。

1 // ? 空值条件运算符
2 string str = null;
3 Console.WriteLine(str?.Length );//和下面的if语句等价,也就是先判断str是否为空值,如果为空值就不往下进行计算了,如果str不为空值,则输出str字符串的长度。
4 if (str !=null)
5 {
6     Console.WriteLine(str.Length);
7 }
8 Console.ReadKey();

 

2     ?? 运算符称作 null 合并运算符。 如果此运算符的左操作数不为 null,则此运算符将返回左操作数;否则返回右操作数。 

 1 // ?? null合并运算符
 2  string str = null;
 3  string str2;
 4  str2 = str ?? "www"; //和下面的if语句等价,如果str不为空,那么就将str赋给str2,否则将“www”赋给str2.
 5  if (str != null)
 6      {
 7        str2 = str;
 8      }
 9  else
10    {
11      str2 = "www";
12  }

 

posted @ 2018-04-01 00:28  沙漠骆驼whlkx  阅读(528)  评论(0编辑  收藏  举报