如何提供自定义键作为字典键?
当我执行代码时:我收到
int[] Keys={5567,51522,35533};
string[] values={"one","two","three"};
var dic = values.ToDictionary(key=>Keys.ToArray());
foreach (KeyValuePair<int, string> kv in dic)
{
Console.WriteLine("Key={0},value={1}", kv.Key, kv.Value);
}
错误:can not convery KeyValuePair<int[],string> to KeyValuePair<int,string>
答案 0 :(得分:2)
目前,您正在为字典中的每个元素使用整个键组。你想要这样的东西:
var dic = Enumerable.Range(0, keys.Length)
.ToDictionary(i => keys[i],
i => values[i]);
(或者使用.NET 4.0中的Zip
方法将两个集合压缩在一起,然后从中形成一个字典。)