2014-05-02 119 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