C#提供自定义密钥

时间:2009-12-03 06:22:03

标签: c# dictionary

如何提供自定义键作为字典键?

当我执行代码时:我收到

    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>

1 个答案:

答案 0 :(得分:2)

目前,您正在为字典中的每个元素使用整个键组。你想要这样的东西:

var dic = Enumerable.Range(0, keys.Length)
                    .ToDictionary(i => keys[i],
                                  i => values[i]);

(或者使用.NET 4.0中的Zip方法将两个集合压缩在一起,然后从中形成一个字典。)