3.3.2 变量的类型
在C#语言中,变量分为七种类型,它们分别是:静态变量(static variables)、非静态变量(instance variables)、数组元素(array elements)、值参数(value parameters)、引用参数(reference parameters)、输出参数(output parameters)及局部变量(local variables)。
看下面的例子:
在上面的变量申明中x是静态变量,y是非静态变量,v[0]是数组元素,a是值参数,b是引用参数,c是输出参数,i是局部变量。
1)静态变量
带有static修饰符申明的变量称为静态变量。一旦静态变量所属的类被装载,则直到包含该类的程序运行结束时它将一直存在。静态变量的初始值就是该变量类型的默认值,为了便于定义赋值检查,静态变量最好在定义时赋值,如static int a=10。
2)非静态变量
不带有static修饰符申明的变量称为非静态变量或实例变量,如int a。
针对类中的非静态变量而言,一旦一个类的新的实例被创建,则直到该实例不再被应用,所在空间被释放为止,该非静态变量将一直存在。同样鉴于方便定义赋值检查,一个类的非静态变量也应该在初始化时赋值。
结构中的非静态变量随着结构的存在而存在。也就是说,当一个结构类型存在或结束时,该结构类型中的变量也随之存在和结束。同样地,结构中的实例变量会随着结构类型变量的初始化而被初始化,如果该结构类型变量定义时未被赋值,那么其中的实例变量也不会被赋值。
3)数组元素
数组元素也是变量的一种,该变量随该数组实例的存在而存在,每一个数组元素的初始值是该数组元素类型的默认值。同样鉴于方便定义赋值检查,数组元素最好在初始时被赋值。
4)局部变量
局部变量是指在一个独立的程序块,一个for语句,一个switch语句中申明的变量,它只在该范围中有效,当程序运行到这一范围时,该变量即开始生效,程序离开时变量就失效了。
与其他几种变量类型不同的是,局部变量不会自动被初始化,所以也就没有默认值,在进行赋值检查的时候,局部变量被认为没有赋值。在局部变量的有效范围内,变量在定义以前就使用是不合法的,比如:
关于值参数、引用参数、输出参数,由于这部分内容与方法或函数有着紧密的联系,所以将在第9章“方法”中进行详细介绍。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。