2014-05-02 121 views
2
获取字典

我想知道字典的正确值是否可以通过参考。 所以,当我改变了词典的价值的一些其它值也将改变 例如:通过参考

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? 

感谢您的任何帮助。

+0

不,这不可能的'double' – Grundy

+0

第一的最新值是4.0在你的字典你想要什么? –

+0

据我所知,你不能使用值类型,但你可以将你的变量'num'包装在一个类中以使其成为一个引用类型。 –

回答

14

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

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