操作符
C# 运算符及其优先级与其他C家族是极其类似的。
类似于C++,类可以重载(overload)大多数运算符,但是通常并不推荐这么做。
操作符可以根据元数(arity)进行分组:零元、一元、二元、三元、n元。
算数
逻辑
位移
关系
赋值
简写赋值
类型信息
指针操作
注意:直接操作和使用指针是不推荐的。C#在构建时考虑到了内存管理,指针的创建和使用在很大程度上破坏了这一点。如果使用了指针,程序将在“不安全模式”下编译。
溢出异常控制
- checked 操作符用于整型算数运算和转换的溢出检查
- unchecked 操作符用于阻止整型运算的溢出检查,可能会用在单个表达式或整个语句块中
int x, y, z;
x = 1222111000;
y = 1222111000;
// used as an operator
z = unchecked(x*y);
// used as a statement
unchecked {
z = x*y;
x = z*z;
}