理解C#系列 / 核心C# / 变量
变量
变量?
变量是对一个东西指定一个名称,变量的功能和人的名字差不多,提到名字就知道指的是什么。
变量类型?
变量类型说明了变量的类型,声明变量是一个整数,还是小数,还是字符,或是图像,或是人类,或是什么。
定义变量
【变量类型】【空格】【变量名称】【;】
赋值
【变量名称】【=】【值】【;】
变量第一次被赋值叫做变量初始化。
变量在使用前必须被赋值,就是必须指向一个目标,不能只有名字,而不知道名字代表什么。
定义变量的同时进行赋值
【变量类型】【空格】【变量名称】【=】【值】【;】
相同变量类型条件下,同时初始化多个值
【变量类型】【空格】【变量名称1】【=】【值1】【;】【变量名称2】【=】【值2】【;】
当变量是类或结构中的字段时,如果不初始化,.NET会对变量初始化默认值。
当变量在方法中声明时,如果不初始化,编译器会报错。
万能变量类型var?
var类型根据变量初始化的值,进行类型推断,初始化完成后,实际上变量类型就明确了,本质上还是强类型。
var类型的变量必须初始化,否则,编译器就没有推断变量类型的依据。
var类型初始化完成后,就不能改变变量类型了。
局部变量的作用域?
变量的作用域是可以访问该变量的代码区域,区域通常是用({})划分。
定义变量的代码位置不同,作用域也不同。
一个作用域中不能存在相同的变量名称的变量,反之,在不同作用域中可以存在相同名称的变量,他们互不干扰。
当局部变量和字段重名时
局部变量隐藏了同名的在类下面定义的变量(字段),在局部该名称的变量指向的就是局部变量。
如果想在局部指向同名的字段,可以在变量名称前加上特殊说明(this),即【this.】【变量名】,this代表这个类的实例,如果字段是全局变量,请用类名代替this。