运算符
是一种告诉编译器执行特定的数学或逻辑操作的符号。
C# 有丰富的内置运算符,分类如下:
算术运算符
关系运算符
逻辑运算符
位运算符
赋值运算符
其他运算符
算术运算符
下表显示了 C# 支持的所有算术运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:
c = a++: 先将 a 赋值给 c,再对 a 进行自增运算。
c = ++a: 先将 a 进行自增运算,再将 a 赋值给 c 。
c = a--: 先将 a 赋值给 c,再对 a 进行自减运算。
c = --a: 先将 a 进行自减运算,再将 a 赋值给 c 。
关系运算符
下表显示了 C# 支持的所有关系运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:
逻辑运算符
下表显示了 C# 支持的所有逻辑运算符。假设变量 A 为布尔值 true,变量 B 为布尔值 false,则:
位运算符
位运算符作用于位,并逐位执行操作。&、 | 和 ^ 的真值表如下所示:
下表列出了 C# 支持的位运算符。假设变量 A 的值为 60,变量 B 的值为 13,则:
赋值运算符
下表列出了 C# 支持的赋值运算符:
C# 中的运算符优先级
运算符的优先级确定表达式中项的组合。
下表将按运算符优先级从高到低列出各个运算符,具有较高优先级的运算符出现在表格的上面,具有较低优先级的运算符出现在表格的下面。在表达式中,较高优先级的运算符会优先被计算。
算术运算符和赋值运算符的优先级:
int a = 10, b = 5, c = 2;
int result = a + b * c; // 先计算乘法,再计算加法
Console.WriteLine(result); // 输出20
result = (a + b) * c; // 先计算加法,再计算乘法
Console.WriteLine(result); // 输出30
a += b * c; // 先计算乘法,再执行加法赋值
Console.WriteLine(a); // 输出20
逻辑运算符的优先级:
bool a = true, b = false, c = true;
bool result = a || b && c; // 先计算与运算,再计算或运算
Console.WriteLine(result); // 输出true
result = (a || b) && c; // 先计算或运算,再计算与运算
Console.WriteLine(result); // 输出true
result = a || (b && c); // 先计算与运算,再计算或运算
Console.WriteLine(result); // 输出true
条件运算符的优先级:
int a = 10, b = 5;
string result = a > b ? "a大于b" : "a不大于b"; // 先判断大小关系,再执行条件语句
Console.WriteLine(result); // 输出"a大于b"
注意:由于括号可以改变运算符优先级,所以在实际应用中建议尽可能使用括号来明确运算顺序,提高代码的可读性和准确性。