Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published in(发表于) 2014/7/11 9:21:26
C#教程:C#中的变量

C#教程:C#中的变量

变量

变量是指在程序运行过程中其值可以不断变化的量。变量通常用来保存程序运行过程中的输入数据并计算获得的中间结果和最终结果。变量的命名规则必须符合标识符的命名规则,并且变量名要有意义(人性化),以便阅读。

本教程来自http://www.isstudy.com

在C# 中,变量可分为静态变量、实例变量、数组变量、局部变量、值参数、引用参数和输出参数这7种类型。下面分别对这7种变量进行讲解。

1.静态变量

通过“static”修饰符声明的变量称为静态变量。静态变量只有被创建并加载后才会生效,同样,被卸载后会失效。无论创建多少静态变量,都只有一个副本。例如,声明一个整型的静态变量a,代码如下:

static int a;

注意:最好在声明时对静态变量进行赋值。

2.实例变量

声明变量时,没有“static”修饰的变量称为实例变量。当类被实例化时,将生成隶属于该类的实例变量。当不再有关于这个实例的引用,而且已执行实例的析构函数后,此实例变量将失效。类中实例变量的初始值为此类型变量的默认值。为了方便进行赋值检查,类中的实例变量应是初始化的。例如,声明一个整型的实例变量a,代码如下:

int a;

3.数组变量

数组元素随着数组的存在而存在,当任意一个数组实例被创建时,该数组元素也同时被创建。每个数组元素的初始值都是其数组元素类型的默认值。为了明确赋值检查,数组元素被认为已赋初始值。例如,声明一个整型的数组变量num,代码如下:

int[] num = new int[4];

4.局部变量

具有局部作用域的变量,称为局部变量,只在定义它的块内起作用。所谓块指的是大括号“{”和“}”之间的所有内容。块内可以是一条语句,也可以是多条语句或者空语句。局部变量从被声明的位置开始起作用,当块结束时,局部变量也就消失。例如,声明一个整型的局部变量a,代码如下:

public void Test()

{

int a;

}


注意:局部变量需要注意初始化问题,局部变量需要人工赋值后才能使用。

5.值参数

声明一个变量时,该变量没有ref或out修饰,可称此变量为值参数。值参数在其隶属的函数子句被调用时自动生成,同时被赋给调用中的参数值。当函数成员返回时,值参数失效。为了方便赋值检查,所有的值参数都被认为是已被初始化过的。例如,声明一个方法Test()参数为整型的值参数变量a,代码如下:

public void Test(int a)

{

}


6.引用参数

用ref修饰符声明的参数为引用参数。引用参数不创建新的存储位置。引用参数的值总是与基础变量相同。例如,声明一个方法Test()参数为整型的引用参数变量a,代码如下:

public void Test(ref int a)

{

}


下面的明确赋值规则适用于引用参数。

变量作为引用参数在函数成员调用中传递之前必须已明确赋值。

在函数成员内部,引用参数被视为初始已赋值。

在结构类型的实例方法或实例访问器内部,this 关键字的行为与该结构类型的引用参数完全相同。

7.输出参数

用out修饰符声明的参数是输出参数。输出参数不创建新的存储位置。相反,输出参数表示在对该函数成员调用中被当作“自变量”的变量所表示的同一个存储位置。因此,输出参数的值总是与基础变量相同。例如,声明一个方法Test()参数为整型的引用参数变量a,代码如下:

public void Test(out int a)

{

}


下面的明确赋值规则应用于输出参数。

本教程来自http://www.isstudy.com

变量在可以作为输出参数在函数成员调用中传递之前,不一定要明确赋值。

在正常完成函数成员调用之后,每个作为输出参数传递的变量都被认为在该执行路径中已赋值。

在函数成员内部,输出参数被视为初始未赋值。

函数成员的每个输出参数在该函数成员正常返回前都必须已明确赋值。

在结构类型的实例构造函数内部,this关键字的行为与结构类型的输出参数完全相同。




If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759