Ответ 1
Чтобы преобразовать ключи в собственный список:
listNumber = dicNumber.Select(kvp => kvp.Key).ToList();
Или вы можете сократить его и даже не потрудиться с помощью select:
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(??????);
Чтобы преобразовать ключи в собственный список:
listNumber = dicNumber.Select(kvp => kvp.Key).ToList();
Или вы можете сократить его и даже не потрудиться с помощью select:
listNumber = dicNumber.Keys.ToList();
В качестве альтернативы:
var keys = new List<string>(dicNumber.Keys);
Если вы хотите использовать Linq, вы можете использовать следующий фрагмент:
var listNumber = dicNumber.Keys.ToList();
foreach ( var item in dicNumber)
{
listnumber.Add (item.Key);
}
Если вы хотите передать коллекцию ключей словаря в один аргумент метода.
List<string> lstKeys = Dict.Keys;
Methodname(lstKeys);
-------------------
void MethodName(List<String> lstkeys)
{
`enter code here`
//Do ur task
}
Если вы хотите преобразовать клавиши:
List<string> listNumber = dicNumber.Keys.ToList();
else, если yuo хочет преобразовать значения:
List<string> listNumber = dicNumber.Values.ToList();
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" равны "первым"