通过ref获取字典

时间:2014-05-02 11:20:34

标签: c#

我想知道一个字典的正确值是否可以通过ref。 所以,当我改变字典的值时,其他一些值也会改变 例如:

double num = 7;
Dictionary<string,double> myDict = new Dictionary<string, double>();
myDict.Add("first",num);
myDict["first"]=4;
// i want num also to change to 4.. is it possible?

谢谢你的帮助。

1 个答案:

答案 0 :(得分:13)

不,这基本上是不可能的。如果你想要这样的东西,你需要一个包装类类型,例如

public class Wrapper<T>
{
    public T Value { get; set; }
}

然后你可以使用:

var wrapper = new Wrapper<double> { Value = 7.0 };
var dictionary = new Dictionary<string, Wrapper<double>>();
dictionary.Add("first", wrapper);
dictionary["first"].Value = 4;
Console.WriteLine(wrapper.Value); // 4.0