Je ne veux que les clés et non les valeurs d'un dictionnaire.
Je n'ai pas encore pu obtenir de code pour le faire. Utiliser un autre tableau s'est avéré être trop de travail car j'utilise également remove.
Comment obtenir une liste des clés d'un dictionnaire?
c#
list
dictionary
Athiwat Chunlakhan
la source
la source
yourDictionary
fait partie de l'objet, dérivé dans la fonction ou le nom d'un paramètre.Vous devriez pouvoir simplement regarder
.Keys
:la source
Pour obtenir la liste de toutes les clés
System.Linq est pris en charge dans .Net Framework 3.5 ou supérieur. Consultez les liens ci-dessous si vous rencontrez un problème lors de l'utilisation de System.Linq
Visual Studio ne reconnaît pas System.Linq
Espace de noms System.Linq
la source
using System.Linq;
j'ai besoin de savoir quelles réponses ignorer. Désolé :).ToList()
jette une erreur alors que je l'avais utilisé tant d'autres fois, alors je suis venu ici pour chercher une réponse et j'ai réalisé que le fichier dans lequel je travaillais n'avait pasusing System.Linq
:)Dictionary<string, object>.KeyCollection' does not contain a definition for 'ToList'
La réponse de Marc Gravell devrait fonctionner pour vous.
myDictionary.Keys
retourne un objet qui implémenteICollection<TKey>
,IEnumerable<TKey>
et leurs homologues non génériques.Je voulais juste ajouter que si vous prévoyez également d'accéder à la valeur, vous pouvez parcourir le dictionnaire comme ceci (exemple modifié):
la source
La question est un peu délicate à comprendre, mais je suppose que le problème est que vous essayez de supprimer des éléments du dictionnaire pendant que vous parcourez les clés. Je pense que dans ce cas, vous n'avez pas d'autre choix que d'utiliser un deuxième tableau.
Si vous pouvez utiliser des listes et des dictionnaires génériques au lieu d'une ArrayList, je le ferais, mais ce qui précède devrait simplement fonctionner.
la source
Je ne peux pas croire toutes ces réponses alambiquées. En supposant que la clé est de type: string (ou utilisez 'var' si vous êtes un développeur paresseux): -
la source
using System.linq;
Ou comme ça:
la source
Pour un dictionnaire hybride, j'utilise ceci:
la source
J'ai souvent utilisé ceci pour obtenir la clé et la valeur dans un dictionnaire: (VB.Net)
(layerList est de type Dictionary (Of String, Integer))
la source