C#有两个方法可以确保变量在使用前进行初始化
1.变量是类或结构体中的字段,如果没有显示的初始化,创建这些变量时,其值默认是0
public class ABC
{
static int a;
public static void Main() { Console.WriteLine(a); return; }
}
//这样不会错
2.方法的局部变量必须在代码中显示的初始化,之后才能在语句中使用它们的值。此时,初始化不是在声明变量时进行的,但编译器会通过检查所有可能的路径,如果检测到局部变量在初始化之前就使用了它的值,就会产生错误。
public static void Main() { int a; Console.WriteLine(a); }
这样就会报错
为了规范起见,最好声明变量时赋值
变量在全局可以不赋值,因为有默认值
在局部不可以不赋值,因为没有默认值
int a 在作为成员变量时默认是 0,在局部变量时没有默认值。