假设我有一个类似
的字典结构var stocks = new Dictionary<string, double>();
stocks.Add("APPL", 1234.56);
虽然保留了从词典中添加和删除的功能,但有没有一种方法可以在包含类的实例之间“共享”内容? (顺便说一句,我被迫从一个不能是静态的包含类继承。)
或者是否有其他方式来表示允许此类共享的数据?
答案 0 :(得分:5)
具有静态成员的类不需要是静态的。我建议将字典作为受保护的静态属性。另外,对于线程安全,您需要使用ConcurrentDictionary
而不是普通的Dictionary
public class MyClass
{
protected static ConcurrentDictionary<string, double> Stocks {get; set;}
static MyClass()
{
Stocks = new ConcurrentDictionary<string, double>();
}
}