C#中的? 、?. 、?? 、??=
时间: 2023-12-15 21:32:35 浏览: 80
C# 运算符 ?、??、?: 各种问号的用法和说明
在C#中,?、?.、??、??=都是一些特殊的运算符,用于处理空引用和空值的情况。
1. ? 运算符:它可以用于判断一个对象是否为空,如果为空则返回null,否则返回对象本身。例如:
```
string str = null;
string result = str?.ToString(); // result为null
```
2. ?. 运算符:它可以用于访问一个对象的属性或方法,如果对象为空则返回null,否则返回属性或方法的值。例如:
```
string str = null;
int? length = str?.Length; // length为null
```
3. ?? 运算符:它可以用于判断一个对象是否为空,如果为空则返回默认值,否则返回对象本身。例如:
```
string str = null;
string result = str ?? "default"; // result为"default"
```
4. ??= 运算符:它可以用于判断一个对象是否为空,如果为空则将默认值赋给对象,否则不做任何操作。例如:
```
string str = null;
str ??= "default"; // str被赋值为"default"
```
阅读全文