2015-08-08 57 views
-2

我有以下類的構造函數:未知的語法錯誤C#

public void GenericProblem(string _operation, int _problems, int _min, int _max) { 
    private static int operation = (_operation || 1); 
} 

我在陳述一個}需要關閉開口{得到一個錯誤。我可以保證這不是由於此外的任何事情造成的,因爲如果我刪除變量operation,錯誤消失。也許我只是愚蠢的,但我無法弄清楚。

回答

4

private static只是類成員的有效修飾符。如果要聲明一個局部變量(本地的方法),那麼就寫int operation

public void GenericProblem(string _operation, int _problems, int _min, int _max) { 
    int operation = (_operation || 1); 
} 
0

通常一個static變量用於在類的所有實例之間共享的價值。

public class Foo 
{ 
    public static int Boo=10; 

    public void AddTen() 
    { 
     Boo += 10; 
    } 
} 

public class Program 
{ 
    public static void Main(string[] args) 
    { 
     var f1 = new Foo(); 
     f1.AddTen(); 

     Console.WriteLine(Foo.Boo);// Output:20 
    } 
} 

所以static字段的範圍是整個類型。這就是爲什麼你不能在方法中聲明static字段的原因。一個方法有其自己的範圍,並且你在方法中聲明的變量必須在方法的邊界上不可訪問。所以,你應該遵循@poke的建議在聲明一個局部變量:

int operation =...; 

的另一件事是,你不能將stringint_operation || 1)之間施加邏輯運算符。檢查這個msdn reference