C#中?的相关使用

 C#中?的相关使用

1. 可空类型

使用后可以使值类型的变量,既可以接收null也可以接收正常的值类型。

 int? a = null;
 a = 10;

2. 可空运算符

使用?前:

  if(object != null){//方法调用
      object.method();
  }
  if(array != null){ //数组索引
      int a = array[1];
  }

使用?后:

object?.method();
array?[1];

3. 三元运算符 condition?(true result):(false result)

使用?前:

if(object.num!=null)
{
    int num =object.num
}
else
{
    int num=0
}

使用?后:

int oneNum = object.num !=null? object.num : 0;

4. 空合并运算符 ??

使用??前:

int oneNum = object.num !=null? object.num : 0;

使用??后:

int oneNum = object.num ?? 0;

 

总结

null在很多情况下,对于程序而言都是不友好的,我们也极力地避免null的出现。相比较使用各种判断语句而言,?的出现无疑让代码精简了不少,理解性也提高了很多。而且它们之间的嵌套使用(像最后一个例子)在复杂的判断中优势更加的明显。

 
分类: C#
posted @ 2023-08-24 20:17  gatran  阅读(12)  评论(0编辑  收藏  举报