1.类中所有变量的默认修饰符是private。
2.局部变量必须先初始化才能使用,全局变量(类的成员变量)可以不初始化,默认值为0;
1 static void Main(string[] args) 2 { 3 //M(); 4 //M1(); 5 //M2(); 6 7 int m; 8 if (n > 5) 9 { 10 m = 1; 11 } 12 else 13 { 14 m++; 15 } 16 17 Console.ReadKey(); 18 } 19 20 static int n = 10;
如上代码,局部变量m没有赋值,所以不能使用m(m++报错)。
Q:
如图中的代码,输入的结果是?(10,11,12)
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 M(); 6 M1(); 7 M2(); 8 Console.ReadKey(); 9 } 10 11 static int n = 10; 12 13 static void M() 14 { 15 Console.WriteLine(n); 16 } 17 18 static void M1() 19 { 20 n++; 21 Console.WriteLine(n); 22 } 23 24 static void M2() 25 { 26 n++; 27 Console.WriteLine(n); 28 } 29 30 }
n初始化的值是10,调用M1后,赋值一次,n=11,调用M2后,赋值一次,n=12.不要与值类型传参混淆了。(值类型传递的是副本,所以最初的n的值不会改变,这是错误的思想,这里是赋值,不是传参)。