2013-12-18 85 views
1

我想創建裏面像下面類的靜態變量,分配靜態veriable內

public class ClassEnLanguage 
{ 
    public static Dictionary<string, string> dictionary = new Dictionary<string, string>(); 
} 

這是沒有問題的,做工精細,甚至我可以從其他類訪問這個,現在我要值添加到字典對象而不使用任何方法。像,

public class ClassEnLanguage 
{ 
public static Dictionary<string, string> dictionary = new Dictionary<string, string>(); 
    dictionary.Add("somekey1","someValue1"); 
    dictionary.Add("somekey2","someValue2"); 
} 

就像在Java中,我們可以做這樣的,

public class ClassLanguageEn { 
    public static HashMap labels = new HashMap(); 
     static {   
      labels.put("somekey1","someValue1"); 
      labels.put("somekey2","someValue2"); 
       } 
} 

,我們可以訪問使用ClassLanguageEn.labels (Classname.VariableName)這個變量。

現在我的問題是可以做到的。 任何幫助將讚賞 預先感謝您。

回答

3

您可以使用一個類型初始化或static constructor,像這樣:

public class ClassEnLanguage 
{ 
    public static Dictionary<string, string> dictionary = new Dictionary<string, string>(); 
    static ClassEnLanguage() 
    { 
     dictionary.Add("somekey1","someValue1"); 
     dictionary.Add("somekey2","someValue2"); 
    } 
} 

請注意,您還可以使用字典初始化是這樣的:

public class ClassEnLanguage 
{ 
    public static Dictionary<string, string> dictionary = new Dictionary<string, string> 
     { 
      { "somekey1", "someValue1" }, 
      { "somekey2", "someValue2" } 
     }; 
} 
+0

感謝緊急答覆@pswg 真感謝您的快速回復。 –

+0

是的,集合初始化器在這裏看起來很自然(第二個例子)。 –