上一篇写了类型,这一片接着讲类型声明的变量,变量表示存储位置。C#定义了七种变量类别:静态变量、实例变量、数组元素、值参数、引用参数、输出参数和局部变量。
5.1变量类别
静态变量:用static修饰符声明的字段称为静态变量。静态变量在包含了它那个类型的静态构造函数执行之前就存在了,在关联应用程序域终止时终止;
实例变量:没有使用static修饰符声明的字段;
数组元素:数组元素在创建数组实例时开始存在,在没有对该数组实例的引用时停止存在;
值参数:未用ref或out修饰符声明的参数为值参数,在调用该参数所属的函数成员时开始存在,当返回该函数成员时值参数停止存在;
引用参数:用ref修饰符声明的参数,引用参数不创建新的存储位置,是与那个在对函数成员调用中被当作"自变量"的变量表示同一个位置;
输出参数:用out修饰符声明的参数,输出参数同意不创建新的存储位置,也是和被调用的"自变量"的变量表示同一个位置;
局部变量:通过局部变量声明来声明的,此声明可以出现在块、for语句、switch语句或using语句。局部变量的生存期是执行过程的某一段,如果期间进入封闭快或调用方法时会挂起,不会结束。
初始化为默认值的实现方法一般是让内存管理器或垃圾回收期在分配内存以供使用之前,将内存初始化为所有位归零。
5.2变量引用
变量引用是一个表达式,被归类为变量,变量引用表示一个存储位置,访问它可以获取当前值及存储新值。在C和C++中,变量引用称为Ivalue。