list получить - Преобразование словаря в список коллекции в C#




значение ключу (7)

Если вы хотите использовать Linq, вы можете использовать следующий фрагмент:

var listNumber = dicNumber.Keys.ToList();

У меня проблема при попытке конвертировать словарь в список.

Пример, если у меня есть словарь с строкой шаблона как ключ и строка как значение. Затем я хочу преобразовать словарь-словарь в список в виде строки.

Dictionary<string, string> dicNumber = new Dictionary<string, string>();
List<string> listNumber = new List<string>();

dicNumber.Add("1", "First");
dicNumber.Add("2", "Second");
dicNumber.Add("3", "Third");

// So the code may something look like this
//listNumber = dicNumber.Select(??????);

foreach (var item in dicNumber)
{
    listnumber.Add(item.Key);
}

Если вы хотите преобразовать ключи:

List<string> listNumber = dicNumber.Keys.ToList();

else, если вы хотите преобразовать значения:

List<string> listNumber = dicNumber.Values.ToList();

Чтобы преобразовать ключи в собственный список:

listNumber = dicNumber.Select(kvp => kvp.Key).ToList();

Или вы можете сократить его и даже не потрудиться использовать select:

listNumber = dicNumber.Keys.ToList();

В качестве альтернативы:

var keys = new List<string>(dicNumber.Keys);

class NumberClass {
    int Digits { get; set; }
    string Chars { get; set; }
    string CharsLower { get; set; }
}

var dicNumber = new Dictionary<string, string> {
    {"1", "First"},
    {"2", "Second"},
    {"3", "Third"}
}

var listNumber = dicNumber.Select(number => new NumberClass {
    Digits = Convert.ToInt32(number.Key), 
    Chars = number.Value,
    CharsLower = number.Value.ToLower()
}).ToList();

listNumber - это список NumberClass-es, где для первой записи цифры равны 1, символы «First» и «CharsLower» равны «первым»,


Используйте оператор присваивания индексов:

d['x'] = "value"

Не забывайте, что ключ Python может быть любым хеширующим, что означает, что bool , int , string даже кортеж или любые объекты хешируются.





c# list dictionary