2014-07-23 64 views
-4

我正在試圖將值分配給一個變量,但我得到的是編譯錯誤:s(String) is a 'field' but is used like a 'type'S(字符串)是一個「場」,而是使用像「型」 C#

public class SForceTest 
{ 
    String s = ""; 
    s = "asdsa"; 
} 

能有什麼我確實解決了這個問題?謝謝

+3

你需要把這些線的方法或財產。他們在你的班級中不能鬆動。 – gunr2171

+0

你必須在一個方法中做到這一點。 –

回答

5

您只能在構造函數或方法之外創建成員(並初始化它們)。您需要將一個構造函數或方法中的分配:

public class SForceTest 
{ 
    String s = ""; 

    public SForceTest() 
    { 
     s = "asdsa"; 
    } 
} 
+0

爲什麼我不能在課堂上做出分配? – Tartar

+0

@ user3864408,因爲c#規範是這樣說的。可執行代碼必須位於成員內部(構造函數,方法,訪問器,事件處理程序等)。您只能在課程級別初始化成員。 –

+0

另外,構造函數外部的賦值與將它放入構造函數中的賦值相同。所以它實際上在構造函數中執行s =「」和s =「asdsa」。 – Measuring

1

你需要或者初始化它的方法,如上述,或在創建的時間,例如:

public class SForceTest 
{ 
    String s = "asdsa"; 
} 

你」 ð通常給它的可訪問性修飾符爲好,使它看起來更像這個(假設我們永遠只希望這個類的實例能夠訪問該字段):

public class SForceTest 
{ 
    private String s = "asdsa"; 
} 
相關問題