133 votes

Convertir le dictionnaire en liste en collection

J'ai un problème lorsque j'essaie de convertir un dictionnaire en liste.

Exemple si j'ai un dictionnaire avec une chaîne de modèle comme clé et une chaîne comme valeur. Ensuite, je souhaite convertir la clé du dictionnaire en liste de collecte.

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

228voto

Justin Niessner Points 144953

Pour convertir les clés en une liste qui leur est propre:

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

Ou vous pouvez le raccourcir sans même vous soucier d'utiliser select:

 listNumber = dicNumber.Keys.ToList();
 

35voto

stuartd Points 22668

Alternativement:

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

21voto

Pop Catalin Points 25033

Si vous voulez utiliser Linq, vous pouvez utiliser l'extrait suivant:

 var listNumber = dicNumber.Keys.ToList();
 

7voto

explorer Points 3352
foreach ( var item in dicNumber) 
{

     listnumber.Add (item.Key);

 }

3voto

arun Points 21

Si vous voulez passer la collection de clés de dictionnaire dans un argument de méthode.

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X