C#常用的特有关键字
引用传递:指示方法的参数按引用传递,而非按值传递,让形参成为实参的别名
- ref:要求在调用方法之前初始化变量
- out:可在方法内再初始化变量
- in:不允许在方法内修改参数值
params:声明参数个数可变的方法
类型转换:
- implicit:定义类型的隐式转换方法,当使用as关键字时会调用
- explicit:定义类型的显示转换方法,使用(T)E强制转换时会调用
delegate:委托,声明一个表示方法的类型,相当于方法泛型、函数指针
sealed:阻止其他类继承自该类,相当于Java的final
partial:在两个文件中定义同一个类或方法,每个定义其中的一部分
nameof:获取一个类型的名称字符串
stackalloc:在堆栈上分配内存块,方法返回时,将自动释放
extern:声明在外部dll文件实现的方法,配合DllImport特性一起使用
operator:对某种数据类型重载运算符
with:克隆一个实例的同时改变某些特定属性的值
record:声明数据模型类,相对于class
- 两个实例相等性比较(==):record比较属性的值,class比较实例的引用
- record的属性默认是不可变的
整型类型溢出检查
checked:启用
unchecked:关闭
常量:
- const:只能且必须在声明时初始化
- readonly:可在声明时或构造函数中初始化