2016-06-29 110 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