C#运算符??
时间: 2023-06-29 22:20:21 浏览: 355
C#中的运算符可以分为如下几类:
1. 算术运算符:用于数学计算,如加减乘除、模运算等。
2. 赋值运算符:用于给变量赋值,如=、+=、-=等。
3. 比较运算符:用于比较两个值的大小关系,如==、!=、>、<等。
4. 逻辑运算符:用于进行逻辑判断,如&&、||、!等。
5. 位运算符:用于对二进制数进行位操作,如&、|、^等。
6. 条件运算符:用于进行条件判断,如?:等。
7. 其他运算符:包括sizeof运算符、类型转换运算符、成员访问运算符等。
另外,C#还有空合并运算符??,它用于判断一个值是否为null,如果是,返回一个默认值。例如:
```
int? a = null;
int b = a ?? 0; // 如果a为null,则b的值为0,否则为a的值
```
相关问题
c# ??和??=的例子
以下是C#中 ?? 和 ??= 运算符的例子:
1. ?? 运算符的例子:
```csharp
string str1 = null;
string str2 = str1 ?? "default value";
Console.WriteLine(str2); // 输出 "default value"
string str3 = "C#";
string str4 = str3 ?? "default value";
Console.WriteLine(str4); // 输出 "C#"
```
上述代码中,第一个例子中 str1 为 null,所以使用 ?? 运算符返回了默认值 "default value";第二个例子中 str3 不为 null,所以返回了原始值 "C#"。
2. ??= 运算符的例子:
```csharp
int? num1 = null;
num1 ??= 10;
Console.WriteLine(num1); // 输出 10
int? num2 = 20;
num2 ??= 10;
Console.WriteLine(num2); // 输出 20
```
上述代码中,第一个例子中 num1 为 null,所以使用 ??= 运算符将 num1 赋值为 10;第二个例子中 num2 不为 null,所以不会执行赋值操作,num2 的值仍为 20。
阅读全文