キーに依存するディクショナリに値を入れようとしています...たとえば、インデックス 0 のキーのリストに文字「a」があるとします。キー "a" を持つ辞書内のリストにインデックス 0 の val を追加したい (辞書 (キーはインデックス 0 の "a"、インデックス 0 の val) ... 辞書 (キーは "b" のインデックス 2 、インデックス 2 の val))
次のような出力を期待しています。
リストビュー lv1: 1,2,4 リストビュー lv2: 3,5
私が得ているのは、両方のリストビューで 3,4,5 です
List<string> key = new List<string>();
List<long> val = new List<long>();
List<long> tempList = new List<long>();
Dictionary<string, List<long>> testList = new Dictionary<string, List<long>>();
key.Add("a");
key.Add("a");
key.Add("b");
key.Add("a");
key.Add("b");
val.Add(1);
val.Add(2);
val.Add(3);
val.Add(4);
val.Add(5);
for (int index = 0; index < 5; index++)
{
if (testList.ContainsKey(key[index]))
{
testList[key[index]].Add(val[index]);
}
else
{
tempList.Clear();
tempList.Add(val[index]);
testList.Add(key[index], tempList);
}
}
lv1.ItemsSource = testList["a"];
lv2.ItemsSource = testList["b"];
解決:
else コード セクションを次のように置き換えます。
testList.Add(key[index], new List { val[index] });
皆さん、助けてください =)