Задать вопрос
spooky_2020
@spooky_2020
А меня Сережа зовут.

Как Dictionary.KeyCollection преобразовать (или привести тип) в массив?

Я хочу использовать это так: String.Format("{0}{1}", Collection.Keys);
Но так увы нельзя - Dictionary.KeyCollection не воспринимается как массив значений.
Пока по быстрому я сделал такой костыль (берегите глаза!):
string[] temp= new string[4];
int i = 0;
foreach (int k in Collection.Keys) temp[i++] = k;
String.Format("{0}{1}", temp);

В доках есть описание каких то "Методы расширения" но я не понял как их использовать/вызывать.
ПАМАГИТЕ!
  • Вопрос задан
  • 430 просмотров
Подписаться 1 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Учебный центр IBS
    SDP-030_PRG Продвинутая разработка в Microsoft .NET
    1 неделя
    Далее
  • Ulearn.me
    Проектирование на языке C#
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Решения вопроса 1
ayazer
@ayazer
Sr. Software Engineer
var dict = new Dictionary<string, string>()
{
    { "key1", "val1" },
    { "key2" , "val2" }
};
var result = string.Format("{0} {1}", dict.Keys.ToArray());


String.Format("{0}{1}", Collection.Keys)

не будет работать т.к. у KeyCollection нет доступа по индексу
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
var dictionary = new Ditionary<string, string>();
string[] keys = dictionary.Keys.ToArray(); // ToArray - это метод-расширение (extension method)

https://docs.microsoft.com/ru-ru/dotnet/api/system...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы