目录
关系运算符
两个数据之间的关系运算
下表显示了 C# 支持的所有关系运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:
| 运算符 | 描述 | 实例 |
|---|---|---|
| == | 检查两个操作数的值是否相等,如果相等则条件为真。 | (A == B) 不为真。 |
| != | 检查两个操作数的值是否相等,如果不相等则条件为真。 | (A != B) 为真。 |
| > | 检查左操作数的值是否大于右操作数的值,如果是则条件为真。 | (A > B) 不为真。 |
| < | 检查左操作数的值是否小于右操作数的值,如果是则条件为真。 | (A < B) 为真。 |
| >= | 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 | (A >= B) 不为真。 |
| <= | 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 | (A <= B) 为真。 |
1.1注意
-
和属性赋值一样,需要处理关系的这两个数据之间必须保持类型最终一致
-
关系运算符运算的最终结果值只有两个:true、false
赋值运算符
2.1什么是赋值运算符
在给等号左边数据赋值的时候,先考虑是否要进行运算赋值
2.2常见赋值运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| = | 简单的赋值运算符,把右边操作数的值赋给左边操作数 | C = A + B 将把 A + B 的值赋给 C |
| += | 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操 作数 | C += A 相当于 C = C + A |
| -= | 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操 作数 | C -= A 相当于 C = C - A |
| *= | 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操 作数 | C *= A 相当于 C = C * A |
| /= | 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操 作数 | C /= A 相当于 C = C / A |
| %= | 求模且赋值运算符,求两个操作数的模赋值给左边操作数 | C %= A 相当于 C = C % A |
| <<= | 左移且赋值运算符 | C <<= 2 等同于 C = C << 2 |
|---|---|---|
| >>= | 右移且赋值运算符 | C >>= 2 等同于 C = C >> 2 |
| &= | 按位与且赋值运算符 | C &= 2 等同于 C = C & 2 |
| |= | 按位或且赋值运算符 | C|= 2 等同于 C = C|2 |
| ^= | C &= 2 等同于 C = C & 2 | 2C ^= 2 等同于 C = C ^ 2 |
杂项运算符
3.1常用杂项运算符
-
sizeof()返回数据类型(值类型)的大小(求指定值类型所占内存大小,以字节为单位)。sizeof(int),将返回4
-
typeof()返回class的类型。typeof(StreamReader); 在之后学习反射
-
三元运算符:?x:y 条件表达式,如果条件为真?则为x:否则为y
-
is判断对象是否为某一类型
-
as-if(ford is car);// 检查ford是否是car类的一个对象。
-
as强制转换,即使转换失败也不会抛出异常。
3.2三元运算符
Exp1 ? Exp2 : Exp3;
条件运算符 ? :,可以用来替代 if...else语句。它的一般形式如下:
其中,Exp1、Exp2 和 Exp3 是表达式。请注意,冒号的使用和位置。? 表达式的值是由 Exp1 决定的。如果 Exp1 为真,则计算 Exp2 的值,结果即为整个 ? 表达式的值。如果 Exp1 为假,则计算 Exp3 的值,结果即为整个 ? 表达式的值。
3.3 as类型转换
作用基本上和类型前带括号转换方式作用是一样,都是将数据转成目标类型,但是as即使转换不成功,也不会直接抛异常,而使用前缀括号转换不成功直接报错。


事件的参数
4.1 sender参数
所有事件的sender参数的类型是一样的:object
sender参数代表事件的发起者对象,这个事件是由哪个对象生成的,那么通过这个sender参数获取到这个对象
4.2 e参数
e参数是事件的触发者对象,这个事件是由哪个对象触发的,则e就是谁,例如所有的鼠标事件,e就是鼠标对象
运算符优先级
| 类别 | 运算符 | 结合性 |
|---|---|---|
| 后缀 | () [] . ++ -- | 从左到右 |
| 一元 | + - ! ~ ++ -- (type) & sizeof | 从右到左 |
| 乘除 | * / | 从左到右 |
| 加减 | + | 从左到右 |
| 移位 | << >> | 从左到右 |
| 关系 | < <= > >= | 从左到右 |
| 相等 | == != | 从左到右 |
| 位与 AND | & | 从左到右 |
| 位异或 | ^ | 从左到右 |
| 位或 OR | | | 从左到右 |
| 逻辑与 AND | && | 从左到右 |
| 逻辑或 OR | || | 从左到右 |
| 条件 | ?: | 从右到左 |
| 赋值 | = += -= *= /= %=>>= <<= &= ^= |= | 从右到左 |
| 逗号 | , | 从左到右 |
本文详细介绍了C#中的运算符,包括关系运算符、赋值运算符、常用杂项运算符如sizeof()和typeof(),以及三元运算符和as类型转换的用法。此外,还讨论了事件参数sender和e在处理事件时的角色。
432

被折叠的 条评论
为什么被折叠?



