2016-09-23 28 views
-1

我正在使用带有元组的字典作为参数。我正在使用带有列表和元组的字典,如何读取列表中的项目

Dictionary<int, List<Tuple<string, int>>> dict = 
    new Dictionary<int,List<Tuple<string,int>>>(); 

如何读取列表项。

在此先感谢。

+0

字典<字符串,列表<元组 >>字典= 新词典<字符串,列表<元组 >>(); –

+0

@EdPlunkett所以他做了,我错过了,直到你编辑。我感谢你澄清:) –

+0

@imannasser我没有意识到你有所有的内容的道歉。您能否澄清一下您试图访问数据的方式以及它以何种方式无法按预期工作? –

回答

0
foreach(var item in dict.Values) 
{ 
     foreach(var tuple in item) 
     { 
      var someString = tuple.Item1; 
      var someInt = tuple.Item2; 
     } 
} 

编辑:或本

var someList = dict[SOME KEY]; 

    foreach(var tuple in someList) 
     { 
      var someString = tuple.Item1; 
      var someInt = tuple.Item2; 
     } 
+0

字典的迭代很少是正确的方法。要么你使用错误的数据结构,要么你不知道关键的查找。 –

+0

当然,但如果钥匙是未知的,那么真的没有别的事可做。 –

+1

我不认为OP目前有足够的上下文来知道密钥是否已知。我们仍然不知道OP如何实际尝试使用字典。 –

0

我不能完全肯定你问什么,但这里的一些示例代码,我认为可能的帮助。

string input = "value"; 

var dict = new Dictionary<string,List<Tuple<string,int>>>(); 

dict.Add(input, new List<Tuple<string, int>>() { new Tuple<string, int> ("this is a string", 20) }); 

var extractedList = new List<Tuple<string, int>>(); 
dict.TryGetValue(input, out extractedList); 

foreach (Tuple<string,int> tuple in extractedList) { 
    Console.WriteLine("the string value: " + tuple.Item1 + " and the int: " + tuple.Item2.ToString()); 
} 
相关问题