变量、常量
变量
变量就是类型的可变实例。使用变量的一条基本原则是变量必须先定义后使用。C#中对变量名的要求如下:
1.变量名必须以字母开头。
2.变量名能有字母、数字和下划线这3种字符组成,而不能包含其他符号(如空格、标点符号、运算符)。
3.变量名不能与C#中的关键字名称相同。
4.变量名不能与C#中的库函数名称相同。
C#中的变量名注意事项:
为了和其他语言进行交互,C#中允许以字符“@”作为变量名的开头,但它实际上并不是变量名的一部分,在编译是会被忽略。例如在程序中定义一个名为@C的字符变量是合法的;但如果同时定义了名为C和名为@C的两个字符变量,那么编译就会发生命名冲突。
C#中变量可以分为7类:
1.静态变量:指类和结构的静态字段。
2.实例变量:指类和结构的非静态字段。
3.数组元素:由于数组是一种引用类型,数组元素类似于数组的实例变量,它随着数组实例的存在而存在。
4.数值参数:指以值传递方式传递给方法的参数。从方法调用开始,数值参数被创建并赋予和实际参数相同的值。方法调用结束后,数值参数也就不存在了。
5.引用参数:指以关键字ref声明的、以引用传递方式传递给方法的参数。引用参数不会被创建,而是直接指向实际参数所处的位置。
6.输出参数:指以关键字out声明的、以引用传递方式传递给方法的参数。输出参数不会被创建,而是直接指向实际参数所处的位置。
7.局部变量:指在一个独立的程序块声明的变量,他只在该范围内有效。这里指的程序块可以是方法的执行代码,或是特定控制语句(如for语句)有效作用范围内的代码。
变量的初始化问题:
对于静态变量和实例变量,可以在类或结构的定义中给字段初始化一个默认值,也可以在创建类或结构的实例时为字段赋值。如果两种情况都不符合,则编译器会自动为字段赋予其类型的默认值。
对于数组元素,可以在声明数组时对各元素进行初始化,否则每个元素会被赋予数组元素的默认值。
对于数值参数和引用参数,初始化的任务由实参所在的变量完成。
对于输出参数,在方法的执行代码中必须对参数变量赋值。
对于局部变量,如果不进行初始化,变量不会获得类型的默认值,因此使用前必须对其进行赋值。
常量
常量,即某个字段所包含的值始终保持不变。C#中的变量有两种:
1.常数常量
常数常量使用const来定义,字段必须在定义时就进行赋值。常数常量的工作方式类似于静态变量,属于类型本身所有,为类型的每一个实例所共享,但常数常量不允许在增加关键字static来进行修饰。
常数常量是只读常量,不允许对常量值进行改变。 常数常量通常为值类型;如果为引用类型,那么只能在初始化是为其赋予null值,且不允许定义维数、长度和元素值都固定的常量数组。
2.只读常量
只读常量使用关键字readonly来定义。有两种方式对只读常量赋值,一是在字段定义时赋值,二是在类或结构的构造函数中进行初始化。除了在定义时或在构造函数中赋值,其他情况下对只读常量只能是读取其值,而不允许进行改动。只读常量可以是静态的,也可以是非静态的,这取决于字段定义时是否使用了关键字static。只读常量既可以是值类型,也可以是引用类型。
                    
                
                
            
        
浙公网安备 33010602011771号