3

假设我有一个 Dictionary 结构,例如

var stocks = new Dictionary<string, double>();
stocks.Add("APPL", 1234.56);

在保留从字典中添加和删除的能力的同时,有没有办法可以在它的包含类的实例之间“共享”内容?(顺便说一句,我被迫从一个不能是静态的包含类继承。)

或者是否有另一种方式来表示允许这种类型共享的数据?

4

1 回答 1

5

一个类不需要是静态的就可以拥有静态成员。我建议将字典作为受保护的静态属性。同样为了线程安全,您需要使用ConcurrentDictionary而不是正常的Dictionary

public class MyClass
{
    protected static ConcurrentDictionary<string, double> Stocks {get; set;} 

    static MyClass()
    {
        Stocks = new ConcurrentDictionary<string, double>();
    }
}
于 2012-10-24T21:26:54.777 回答