Преобразование словаря в список коллекции в С#

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

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

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

Ответ 1

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

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

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

listNumber = dicNumber.Keys.ToList();

Ответ 2

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

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

Ответ 3

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

var listNumber = dicNumber.Keys.ToList();

Ответ 4

foreach ( var item in dicNumber) 
{

     listnumber.Add (item.Key);

 }

Ответ 5

Если вы хотите передать коллекцию ключей словаря в один аргумент метода.

List<string> lstKeys = Dict.Keys;
Methodname(lstKeys);
-------------------
void MethodName(List<String> lstkeys)
{
    `enter code here`
    //Do ur task
}

Ответ 6

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

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

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

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

Ответ 7

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" равны "первым"