2016-06-29 77 views
0
class Program 
{ 
    static void Main(string[] args) 
    { 
     private int panda=3;    
    } 
} 

当我这样做时,编译器吐出了4个错误。在main中声明私有变量是被禁止的?为什么?在主内部声明私有变量

+2

C#不允许声明里面方法的私有变量,因为里面的方法全部的变量是私有 –

+1

主要是一种方法,而不是一类 –

+0

你有什么期望成为_private_的方法中的意义? – Steve

回答

1

块内声明(两个花括号之间即代码)变量是唯一可见此块内,所以在声明为私有,公共或受保护没有意义的。

Class A 
{ 
private static int x=0;//make sense 

static void Main(string[] args) 
    { 
     private static int x=0; //does not make sense 
    } 
} 
1

你的私人是在一个方法不是一个类。

class Program 
{ 
    private static int panda=3;    
    static void Main(string[] args) 
    { 

    } 
} 
0

是这是因为它是一个局部变量(本地的功能Main和不通过任何其它方法/过程,除非通过explicitley访问),而不是一个类的成员。它应该是

int panda=3; 

或者,如果你打算成为类成员,然后在类作用域中声明它。

class Program 
{ 
    private int panda=3; 
0

基础上,MSDN,上面写着:

private关键字是一个成员访问修饰符。私人访问权限是至少允许访问级别。 私有成员只能 内部类的主体或声明它们的结构

你不能定义一个变量作为Private在方法内部访问。从逻辑上讲,在方法中声明一个变量为Private没有任何意义。

Referense:https://msdn.microsoft.com/en-us/library/st6sy9xe.aspx