C#运算符重点知识

运算符类型

C#运算符分为以下几类:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符以及其他运算符。

算术运算符

+ 加法运算符,用于数值相加或字符串连接。
- 减法运算符,用于数值相减。
* 乘法运算符,用于数值相乘。
/ 除法运算符,用于数值相除。
% 取模运算符,返回除法的余数。
++ 自增运算符,变量值加1。
-- 自减运算符,变量值减1。

int a = 10;
int b = a++; // b = 10, a = 11
int c = ++a; // c = 12, a = 12

关系运算符

== 等于,检查两个操作数是否相等。
!= 不等于,检查两个操作数是否不相等。
> 大于,检查左操作数是否大于右操作数。
< 小于,检查左操作数是否小于右操作数。
>= 大于等于,检查左操作数是否大于或等于右操作数。
<= 小于等于,检查左操作数是否小于或等于右操作数。

逻辑运算符

&& 逻辑与,两个条件都为真时结果为真。
|| 逻辑或,至少一个条件为真时结果为真。
! 逻辑非,反转操作数的逻辑状态。

bool x = true;
bool y = false;
bool result = x && y; // false

位运算符

& 按位与,对两个操作数的每一位执行与操作。
| 按位或,对两个操作数的每一位执行或操作。
^ 按位异或,对两个操作数的每一位执行异或操作。
~ 按位取反,对操作数的每一位取反。
<< 左移,将操作数的二进制位向左移动。
>> 右移,将操作数的二进制位向右移动。

int a = 5; // 0101
int b = 3; // 0011
int c = a & b; // 0001 (1)

赋值运算符

= 简单赋值,将右操作数的值赋给左操作数。
+= 加赋值,左操作数加右操作数后赋值给左操作数。
-= 减赋值,左操作数减右操作数后赋值给左操作数。
*= 乘赋值,左操作数乘右操作数后赋值给左操作数。
/= 除赋值,左操作数除右操作数后赋值给左操作数。
%= 模赋值,左操作数模右操作数后赋值给左操作数。
<<= 左移赋值,左操作数左移右操作数位后赋值。
>>= 右移赋值,左操作数右移右操作数位后赋值。
&= 按位与赋值,左操作数与右操作数按位与后赋值。
^= 按位异或赋值,左操作数与右操作数按位异或后赋值。
|= 按位或赋值,左操作数与右操作数按位或后赋值。

int x = 10;
x += 5; // x = 15

条件运算符

?: 三元运算符,根据条件返回两个表达式中的一个。

int a = 10;
int b = 20;
int max = (a > b) ? a : b; // max = 20

其他运算符

sizeof() 返回数据类型的大小。
typeof() 返回类型的System.Type对象。
is 检查对象是否为指定类型。
as 安全类型转换,失败返回null。
new 创建对象实例。
?? 空合并运算符,左操作数为null时返回右操作数。
?. 空条件运算符,避免空引用异常。

string str = null;
string result = str ?? "default"; // result = "default"

运算符优先级

运算符的优先级决定了表达式中运算的执行顺序。优先级从高到低依次为:

  1. 括号 ()
  2. 一元运算符 + - ! ~ ++ -- (type)
  3. 乘除模 * / %
  4. 加减 + -
  5. 移位 << >>
  6. 关系 < > <= >=
  7. 相等 == !=
  8. 位与 &
  9. 位异或 ^
  10. 位或 |
  11. 逻辑与 &&
  12. 逻辑或 ||
  13. 条件 ?:
  14. 赋值 = += -= *= /= %= <<= >>= &= ^= |=

合理使用括号可以明确运算顺序,避免歧义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值