在类实例之间共享字典内容

Cas*_*sey 3 c# scope

假设我有一个类似的字典结构

var stocks = new Dictionary<string, double>();
stocks.Add("APPL", 1234.56);
Run Code Online (Sandbox Code Playgroud)

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

或者是否有其他方式来表示允许此类共享的数据?

Mag*_*nus 5

具有静态成员的类不需要是静态的.我建议将字典作为受保护的静态属性.另外,对于线程安全,您需要使用ConcurrentDictionary而不是正常Dictionary

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

    static MyClass()
    {
        Stocks = new ConcurrentDictionary<string, double>();
    }
}
Run Code Online (Sandbox Code Playgroud)