Преобразуйте Dictionary.keyscollection в массив строк

Какие вещи Вы хотите программировать?

Кажется, что Вы могли бы интересоваться журнал MAKE , и некоторые их компиляции, такой как Вещи Создания Разговор . С определенным опытом с базовой электроникой можно следовать их рецептам, чтобы сделать все виды нечетных и интересных вещей. Когда Вы становитесь более удобными, можно запустить модификацию их проекты.

Удача:)

54
задан Bill the Lizard 22 April 2017 в 08:17
поделиться

4 ответа

Предполагая, что вы используете .NET 3.5 или новее ( using System.Linq; ):

string[] keys = dictionary.Keys.ToArray();

В противном случае вам придется использовать метод CopyTo или использовать цикл:

string[] keys = new string[dictionary.Keys.Count];
dictionary.Keys.CopyTo(keys, 0);
105
ответ дан 7 November 2019 в 07:53
поделиться

С dictionary.Keys.CopyTo (keys, 0);

Если вам не нужен массив (который обычно вам не нужен), вы можете просто перебрать Ключи.

4
ответ дан 7 November 2019 в 07:53
поделиться

К сожалению, у меня нет VS поблизости, чтобы проверить это, но я думаю, что что-то вроде этого может сработать:

var keysCol = dictionary.Keys;
var keysList = new List<???>(keysCol);
string[] keys = keysList.ToArray();

где ??? ваш тип ключа.

0
ответ дан 7 November 2019 в 07:53
поделиться

Используйте это, если ваши ключи не относятся к типу строки. Для этого требуется LINQ.

string[] keys = dictionary.Keys.Select(x => x.ToString()).ToArray();
4
ответ дан 7 November 2019 в 07:53
поделиться
Другие вопросы по тегам:

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