c#中变量的初始化

在c#中变量在未明确赋值之前,变量拥有一个所属类型的等价于0的值。在正确理解c#中初始化的概念的时候,我们必须区分局部变量(local variable)——在一个方法内部声明的变量,它的作用范围被局限在此方法内;类的字段(fields of a class)的区别

  • 所有的局部变量,再被代码明确的初始化之前,都会被编译器看作未初始化
  • 所有的字段在被自动初始化为所属类型中等价于0的值。如布尔型的被初始化为false,数值型被初始化为0或者0.0,所有的引用类型都被初始化为null。

public class Student
{
//字段部分
private int age;//初始化为0
private double gpa; //初始化为0.0
private bool isHonorsStudent; //初始化为null
//这也包括静态变量
private static int studentCount; //初始化为0

//方法
public void UpdateGPA()
{
double val;//未初始化
String course;//未初始化
}
}

Leave a Reply