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:可在声明时或构造函数中初始化
posted @ 2021-07-28 11:49  woncode  阅读(276)  评论(0编辑  收藏  举报