声明在类上的变量为字段,声明在方法内的为局部变量。
在创建一个类的示例时,在执行构造函数之前,如果没有给变量初始值,则编译器会自动赋予默认值。
如果变量是方法的局部变量,编译器会认为在使用该变量之前,必须给它显示的设定一个值,否则会发生“使用了未赋值的局部变量”的错误。其它情况赋予默认值。
如果变量在声明是赋了初值,则会使用这个值,否则会使用默认值。但是就算会自动初始化,但还是建议自己进行初始化赋值。
关键字var
,这个代表编译器会自动判断其类型,它只能存在于方法内部。它并不是一个类型,只是相当于一个占位符,当编译器判断出其声明的变量是什么类型,就会用这个类型的关键来替换掉var
,这个时候再赋值一个非这个类型的值就回出错。(注意,不要对null使用,因为这不是个什么东西,找不到对应的数据类型)
C#数据类型分为值类型和引用类型。
关于变量的作用域,一般就是在其对应的{ }
这个大括号里。
静态变量:静态变量是类级别的,无需创建类的实例就可以使用,使用关键字static进行声明
常量:常量一旦设置好了初始值就是不可改变的,常量一定是静态的,使用关键字const。
只读:关键字readonly,也是一旦设置好初始值之后就不能改变了,但不会强制其称为静态的,所以它是对象级别上面的,需要先对类进行实例化才能使用。也可以在前面加上static关键字将其静态化。