我收到了这段代码
static Dictionary<string, XElement> DName = new Dictionary<string, string> { };
static void Main(string[] args)
{
DName.Add("RO","FL");
}
static void anotherMethod(){
Console.WriteLine(DName["RO"]);
//not working, while in Main works.
}
那么如何从其他方法访问它?
答案 0 :(得分:1)
字典DName
在类的所有静态和非静态方法之间共享。该词典中键的存在与否仅取决于它们的插入时间:如果调用
DName.Add("RO","FL");
是在调用anotherMethod()
之前制作的,然后DName["RO"]
应该看到该值;如果之后发出Add
的电话,或者在调用anotherMethod()
之前删除了该键,则"RO"
的查找将失败。
请注意,通过静态成员变量传递数据是一种非常脆弱的方法。明确传递参数要好得多 - 它可以让你更好地控制传递的内容:
static void AnotherMethod(IDictionary<string,string>){
Console.WriteLine(dName["RO"]);
}