Как преобразовать Dictionary в Dictionary - C#

Узнай цену своей работы

Формулировка задачи:

Есть метод с сигнатурой
public KeyValuePair<string, int> MyMethod(Dictionary<string, int> dic, Random rndm) {}
Алгоритму метода без разницы тип ключа, он никак не задействован. Т.е. в данном случае Key string, мне же хотелось бы, чтобы метод мог работать со словарем с любым типом ключа. Насколько понимаю, можно переделать метод следующим образом:
public KeyValuePair<object, int> MyMethod(Dictionary<object, int> dic, Random rndm) {}
Но в таком случае при попытке передать в качестве параметра Dictionary<string, int> возникает ошибка

не удается преобразовать из "System.Collections.Generic.Dictionary<string, int>" в "System.Collections.Generic.Dictionary<object, int>".

Как сделать так, чтобы метод мог принимать в качестве параметра словарь с любым типом ключа, и возвращал значение KeyValuePair с типом ключа, соответствующим обрабатываемому словарю?

Решение задачи: «Как преобразовать Dictionary в Dictionary»

textual
Листинг программы
public KeyValuePair<TKey, TValue> MyMethod<TKey, TValue>(Dictionary<TKey, TValue> dic, Random rndm) {}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5