C # Поставка пользовательских ключей - PullRequest
0 голосов
/ 03 декабря 2009

Как указать пользовательский ключ в качестве словарного ключа?

Когда я выполняю код: я получаю

    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 Ответ

2 голосов
/ 03 декабря 2009

В настоящее время вы используете весь массив ключей для каждого элемента в словаре. Вы хотите что-то вроде:

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

(Или используйте метод Zip из .NET 4.0, чтобы сжать две коллекции вместе, а затем сформировать словарь из этого.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...