2013-12-18 30 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

是的,集合初始化器在这里看起来很自然(第二个例子)。 –