2013-04-14 24 views
2

我想通過選擇(從相同的類派生),然後將限制傳遞給另一個將使用該限制的類。我在下面出現錯誤。如何通過開關將限制傳遞給另一個類?

public int ProcessChoice(int choice) 
    { 
     int limit; 

     switch(limit) 
     { 
     case 1: limit = 10; 
     HiLow thegame = new HiLow(limit); 
     break; 
     case 2: limit = 50; 
     HiLow thegame = new HiLow(limit); 
     break; 
     case 3: limit = 100; 
     HiLow thegame = new HiLow(limit); 
     break; 
     }    
    } 
+1

你得到什麼錯誤?看起來你想切換(選擇)不切換(限制) –

+0

'限制'沒有在你的代碼中初始化。 – Herdo

回答

2

確保構造函數HiLow需要一個int參數,就像這樣:

public class HiLow 
{ 
    ... 
    public HiLow(int limit) 
    { 
     ... 
    } 
    ... 
} 
4

這就像在你的代碼可能的錯字。請注意,前兩行的你的方法是

int limit; 
switch(limit) 
{ ... } 

當您開啓極限,它尚未初始化! C#語言在進行初始化之前做了很正常的事情,並且不允許使用變量,所以編譯器會拒絕編譯這些代碼。

當然,對於這個編譯錯誤的解決方法是該方法的前兩行更改爲

int limit; 
switch (choice) 
{ ... } 
+0

好,我沒有看到 –

+0

謝謝,我做了這個改變。獲取「錯誤一個名爲'thegame'的本地變量已經在此範圍內定義」 – user2280076

相關問題