我想做一個包含另一個詞典的詞典。我希望我的字典只有一個鍵有多個值,但我得到一個錯誤:「一個具有相同鍵的元素已經存在」。我已經做到了在JAVA與HashMap和它的好,但在C#...另一本詞典中的詞典+一個鍵的多個值
事情是這樣的:
static Dictionary<int, Dictionary<double, double>> _dict = new Dictionary<int, Dictionary<double, double>>()
{
{ 1, new Dictionary<double,double>{ { 0.990, 0.0316 } } },
{ 1, new Dictionary<double,double>{ { 0.975, 0.0398 } } },
{ 1, new Dictionary<double,double>{ { 0.950, 0.0239 } } },
{ 1, new Dictionary<double,double>{ { 0.9 , 0.0158 } } },
{ 1, new Dictionary<double,double>{ { 0.1 , 2.71 } } },
{ 1, new Dictionary<double,double>{ { 0.050, 3.84 } } },
{ 1, new Dictionary<double,double>{ { 0.025, 5.02 } } },
{ 1, new Dictionary<double,double>{ { 0.010, 6.63 } } },
{ 2, new Dictionary<double,double>{ { 0.990, 0.02 } } },
{ 2, new Dictionary<double,double>{ { 0.975, 0.05 } } },
{ 2, new Dictionary<double,double>{ { 0.950, 0.10 } } },
{ 2, new Dictionary<double,double>{ { 0.9 , 0.21 } } },
{ 2, new Dictionary<double,double>{ { 0.1 , 4.60 } } },
{ 2, new Dictionary<double,double>{ { 0.050, 5.99 } } },
{ 2, new Dictionary<double,double>{ { 0.025, 7.38 } } },
{ 2, new Dictionary<double,double>{ { 0.010, 9.21 } } },
{ 3, new Dictionary<double,double>{ { 0.990, 0.12 } } },
{ 3, new Dictionary<double,double>{ { 0.975, 0.22 } } },
{ 3, new Dictionary<double,double>{ { 0.950, 0.35 } } },
{ 3, new Dictionary<double,double>{ { 0.9 , 0.58 } } },
{ 3, new Dictionary<double,double>{ { 0.1 , 6.25 } } },
{ 3, new Dictionary<double,double>{ { 0.050, 7.81 } } },
{ 3, new Dictionary<double,double>{ { 0.025, 9.35 } } },
{ 3, new Dictionary<double,double>{ { 0.010, 11.34 } } },
};
我嘗試LordTakkera的解決方案。
我這樣做是因爲我必須代表KHI2表。我在JAVA中這樣做,我的軟件完美工作,但我不知道如何在.NET中使用REF。
你想有多個值一個爲什麼鍵?你怎麼知道你爲這把鑰匙獲得什麼價值? – donfuxx
你不能用'Dictionary'來做。在'C#'中,Dictionary不能包含重複的鍵。 –
因爲您正在覆蓋您放入Map中的數據,所以Java中的相同代碼沒有任何意義。 – svz