2016-09-23 5 views
-1

私はパラメータとしてタプルで辞書を使用しています。私はリストとタプルで辞書を使用しています、どのようにリストの項目を読むことができます

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

どのようにリスト項目を読み取ることができますか。

ありがとうございました。

+0

辞書<文字列、リスト<タプル >> dictの= 新しい辞書<文字列、リスト<タプル >>(); –

+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()); 
} 
関連する問題