我正在尝试将值放入依赖于键的字典中......例如,如果在索引 0 处的键列表中有一个字母“a”。我想将索引为 0 的 val 添加到具有键“a”的字典内的列表中(字典(键为索引 0 处的“a”,索引 0 处的 val)...字典(键为“b”索引 2 ,索引 2)) 处的值
我期待这样的输出:
在列表视图 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] });
谢谢大家的帮助=)