gpt4 book ai didi

c# - StringDictionary 作为一个普通的静态列表?

转载 作者:行者123 更新时间:2023-11-30 22:50:06 24 4
gpt4 key购买 nike

我想做的是拥有一个项目方面的静态字典,这样我就可以从代码中的任何位置访问单个列表。

直到现在,我想出了这个解决方案,一个具有公共(public)属性的公共(public)静态类:

public static class Common
{
public static StringDictionary Domains
{
get
{
StringDictionary list = new StringDictionary();

list.Add("212", "Location A");
list.Add("555", "Location B");
list.Add("747", "Location C");
list.Add("000", "Location D");

return list;
}
}
}

我以这种方式使用(我用它来替换 gridview 中单元格的内容):

if (Common.Domains.ContainsKey(e.Row.Cells[5].Text))
{
e.Row.Cells[5].Text = Common.Domains[e.Row.Cells[5].Text];
}
else
{
e.Row.Cells[5].Text = "n/a";
}

但我不知道这是否是一个有效的解决方案,和/或是否有其他(更好的)方法来做到这一点......有人可以给出提示吗?

提前致谢,安德里亚。

最佳答案

您可能不希望每次访问属性时都重新创建列表。将构造移动到静态构造函数中:

public static class Common
{
private static StringDictionary _domains;
static Common()
{
_domains = new StringDictionary();
_domains.Add("212", "Location A");
_domains.Add("555", "Location B");
_domains.Add("747", "Location C");
_domains.Add("000", "Location D");
}
public static StringDictionary Domains
{
get
{
return _domains;
}
}
}

你应该知道,返回的字典不是只读的。因此此类的客户端可以修改集合(例如添加/删除一些条目)。

关于c# - StringDictionary 作为一个普通的静态列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/756723/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com