C#类与对象的成员(汇总)
字段
字段简介
①字段其实就是“变量”,是为存储数据而存在的,只不过是指定于“对象或类型”。 ②字段又名“成员变量”,分为“实例字段”和“静态字段”。 ③“实例字段”:实例状态(对象/实例);“静态字段”:类型状态(类型/群体)。 ④对于“实例字段”,每次创建字段会初始化一次;对于“静态字段”,只初始化一次。 ⑤当一个数据类型被运行环境加载时,它的静态构造器会被调用,因为数据类型只会被加载一次,因此静态构造器永远只执行一次。 ,其中等价于
只读字段 readonly
可以进行初始化,但不能够再进行赋值。
属性
属性简介
最初保护字段的方法案例
c++和Java仍然在使用(因为没有C#属性这个概念)。
C#属性实际案例
C#背后的秘密:
①其实是一种“语法糖”,隐藏复杂的逻辑。反编译后发现: get_Age()和set_Age()方法不是由自己写的,而是编译器编译属性时自动写的。用时调用即可。
Code Snippet
- prop + 2 * TAB:属性的简略声明
- propfull + 2 * TAB:属性的完整声明
3.光标指示到字段上,先Ctrl,再R,再E即可快速创建属性简略声明。
拓展
动态计算值的属性
用于动态计算值的顺序…
案例:主动计算,每次获取 CanWork 时都计算,适用于 CanWork 属性使用频率低的情况。
class Program
{
static void Main(string[] args)
{
try{
var stu1 = new Student();
stu1.Age = 12;
Console.WriteLine(stu1.CanWork);
}catch (Exception ex){
Console.WriteLine(ex.Message);
}
}
}
class Student{
private int age;
public int Age{
get { return age; }
set{age = value;}
}
public bool CanWork{
get{return age > 16;}
}
}
索引器
索引器简介
①一般是集合类型才拥有
Code Snippet
index + 2 * TAB:快速声明索引器
常量
常量简介
成员常量举例:
局部常量举例: