如何从c#中的其他Class's函数中访问Dictionary

本文关键字:函数 Dictionary 访问 Class 其他 | 更新日期: 2023-09-27 18:14:16

我创建了一个名为"EngDictionary"的类。然后在函数中定义一个字典例句:

public void Dict()
    {
        Dictionary<string, string> d = new Dictionary<string, string>();
        d.Add("Classifieds", "Kleinanzeigen");
        //d.Add("windows", 5);   
    }

现在我想从我的主类访问上面定义的字典来检索我的字典的键和值。请给我建议一些代码。我使用的是Visual c# 2008 Express Edition, Win Application

如何从c#中的其他Class's函数中访问Dictionary

将Dictionary声明为类属性

public class Dict {
   private Dictionary<string, string> dict;
   public SomeDictionary { get dict; set dict = value; }
   public Dict() {
      dict = new Dictionary<string, string>();
      dict.Add("Classifieds", "Kleinanzeigen");
   }
}

在其他类中:

Dict d = new Dict();
string test = d.SomeDictionary["Classifieds"];
Console.WriteLine(test);

返回方法中的字典。

public Dictionary<string, string> Dict() {.... ; return d;}

在你的主类中

EngDictionary dict = new EngDictionary();
Dictionary<string, string> dictionary = dict.Dict();

您可以将Dictionary<string, string> d声明为类的成员变量,并在类构造函数中初始化该对象。您可以在其他类中使用getter方法来获取字典。

public class EngDictionary
{
    Dictionary<string, string> dictionary;
    public void EngDictionary()
   {
        dictionary = new Dictionary<string, string>();
        dictionary.Add("Classifieds", "Kleinanzeigen");
        ....
    }
   public Dictionary<string, string> getDictionary()
   {
         return this.dictionary;
   }
 }

我有一个class

 public class Dict
    {
        public Dictionary<string, string> SomeDictionary { get; } = new Dictionary<string, string>()
        {
            { "Classifieds", "Kleinanzeigen" }
        };
    }

则在任何其他类

  Dict Dic = new Dict();
            
            foreach (var item in Dic.SomeDictionary)
            {
                Console.WriteLine(item.Key);
                Console.WriteLine(item.Value);
            }