正在面对字典中的问题。数组是否可以是值的键???
Dictionary<string[], int> di = new Dictionary<string[], int>();
di.Add(new string[]
{
"1","2"
}, 1);
di.Add(new string[]
{
"2","3"
}, 2);
MessageBox.Show(di[new string[] { "2", "3" }].ToString()); // Here KeyNotFoundException occurred.
为什么例外?
默认情况下,仅比较数组的引用,因此您要么必须
IEqualityComparer<string[]>
或Tuple<string, string>
as键(因为您只有两个字符串)这是一个类似的问题的答案,它显示了如何为Dictionary
-构造函数创建自定义比较器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句