0

我得到了这个代码

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.
}       

那么如何从其他方法访问它呢?

4

1 回答 1

1

字典DName在类的所有静态和非静态方法之间共享。该字典中是否存在键仅取决于它们的插入时间:如果调用

DName.Add("RO","FL");

在调用之前进行anotherMethod(),然后DName["RO"]应该看到值;如果在Add之后调用 ,或者在调用 之前删除了密钥anotherMethod(),则查找"RO"将失败。

请注意,通过静态成员变量传递数据是一种非常脆弱的方法。显式传递参数要好得多 - 它使您可以更好地控制传递的内容:

static void AnotherMethod(IDictionary<string,string>){
    Console.WriteLine(dName["RO"]);
}   
于 2013-07-19T11:01:46.483 回答