web-dev-qa-db-ja.com

辞書をC#のリストコレクションに変換する

辞書をリストに変換しようとすると問題が発生します。

キーとしてテンプレート文字列、値として文字列を持つ辞書がある場合の例。次に、辞書キーを文字列としてリストコレクションに変換します。

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

キーを独自のリストに変換するには:

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

または、selectを使用して、それを短縮し、気にしなくてもかまいません。

listNumber = dicNumber.Keys.ToList();
158
Justin Niessner

代わりに:

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

Linqを使用する場合は、次のスニペットを使用できます。

var listNumber = dicNumber.Keys.ToList();
16
Pop Catalin

キーを変換する場合:

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

それ以外の場合は、値を変換します。

List<string> listNumber = dicNumber.Values.ToList();
7
daniele3004
foreach (var item in dicNumber)
{
    listnumber.Add(item.Key);
}
4
explorer

辞書キーコレクションを1つのメソッド引数に渡したい場合。

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