65 votes

convertir dictionary.keyscollection en tableau de chaînes

J'ai un Dictionary<string, List<Order>> et je veux avoir la liste des clés dans un tableau. Mais quand je choisis

 string[] keys = dictionary.Keys;
 

cela ne compile pas.

Comment puis-je convertir KeysCollection à un tableau de chaînes.

140voto

Thomas Levesque Points 141081

En supposant que vous utilisiez .NET 3.5 ou une version ultérieure:

 string[] keys = dictionary.Keys.ToArray();
 

Sinon, vous devrez utiliser la méthode CopyTo ou utiliser une boucle:

 string[] keys = new string[dictionary.Keys.Count];
dictionary.Keys.CopyTo(keys, 0);
 

4voto

Foxfire Points 4503

Avec dictionary.Keys.CopyTo (keys, 0);

Si vous n'avez pas besoin du tableau (ce dont vous n'avez généralement pas besoin), vous pouvez simplement parcourir les clés.

4voto

Kim Johansson Points 195

Utilisez ceci si vos clés ne sont pas de type chaîne. Cela nécessite LINQ.

 string[] keys = dictionary.Keys.Select(x => x.ToString()).ToArray();
 

1voto

LJM Points 1623

Malheureusement, je n'ai pas de VS à proximité pour vérifier cela, mais je pense que quelque chose comme ça pourrait marcher:

 var keysCol = dictionary.Keys;
var keysList = new List<???>(keysCol);
string[] keys = keysList.ToArray();
 

où ??? est votre type de clé.

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