Dictionaryを使っていた処理で、キー重複許容させて処理を回るように改修したいです。
下記、KeyValuePairで対応を考えています。
c#
1List<KeyValuePair<int, string>> list = new List<KeyValuePair<int, string>>(); 2KeyValuePair<int, string> vp1 = new KeyValuePair<int, string>(1, "AAA"); 3KeyValuePair<int, string> vp2 = new KeyValuePair<int, string>(1, "BBB"); 4KeyValuePair<int, string> vp3 = new KeyValuePair<int, string>(2, "CCC"); 5 6list.Add(vp1); 7list.Add(vp2); 8list.Add(vp3); 9``` 10 11⇒このあとに、1個目の要素が`1`のものだけ抽出したリストを作成したいのですが、教えてください。
そういう使い方しかしないなら Dictionary<int, List<string>> の方がいいのでは?
ありがとうございます。
Dictionary<int, List<string>> にした場合、どのように抽出できるか教えていただけないでしょうか。
int をキーとし、List<string> を値とした Dictionary です。次のように普通に使えば抽出できると思います。
var dic = new Dictionary<...
...
List<string> result = dic[1];
Dictionary<int, List<string>> の場合、
dic[1]に値をどのように挿入すればいいか教えていただけないでしょうか。
List<string> がわからないということですか?
dic[1] の型は List<string> なので、そのメソッド Add が使えます。
https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.generic.list-1?view=net-5.0