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);

В доках есть описание каких то "Методы расширения" но я не понял как их использовать/вызывать.
ПАМАГИТЕ!
  • Вопрос задан
  • 86 просмотров
Решения вопроса 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
@vabka Куратор тега C#
Токсичный
var dictionary = new Ditionary<string, string>();
string[] keys = dictionary.Keys.ToArray(); // ToArray - это метод-расширение (extension method)

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

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

Войти через центр авторизации
Похожие вопросы
НПК «Катрен» Новосибирск
от 90 000 ₽
WB—Tech Москва
от 140 000 до 160 000 ₽
от 3 500 до 4 000 $
01 мар. 2021, в 00:47
300000 руб./за проект
01 мар. 2021, в 00:29
5555 руб./за проект