Solo quiero las claves y no los valores de un diccionario.
No he podido obtener ningún código para hacer esto todavía. Usar otra matriz demostró ser demasiado trabajo ya que también uso remove.
¿Cómo obtengo una lista de las claves en un diccionario?
c#
list
dictionary
Athiwat Chunlakhan
fuente
fuente
yourDictionary
es parte del objeto, derivado de la función o del nombre de un parámetro.Deberías poder simplemente mirar
.Keys
:fuente
Para obtener una lista de todas las claves
System.Linq es compatible con .Net Framework 3.5 o superior. Consulte los enlaces a continuación si tiene algún problema al usar System.Linq
Visual Studio no reconoce System.Linq
System.Linq Namespace
fuente
using System.Linq;
necesito saber qué respuestas ignorar. Lo siento :).ToList()
estaba arrojando un error cuando lo había usado tantas otras veces, así que vine aquí buscando una respuesta y me di cuenta de que el archivo en el que estaba trabajando no teníausing System.Linq
:)Dictionary<string, object>.KeyCollection' does not contain a definition for 'ToList'
La respuesta de Marc Gravell debería funcionar para usted.
myDictionary.Keys
devuelve un objeto que implementaICollection<TKey>
,IEnumerable<TKey>
y sus homólogos no genéricos.Solo quería agregar que si también planea acceder al valor, podría recorrer el diccionario de esta manera (ejemplo modificado):
fuente
La pregunta es un poco difícil de entender, pero supongo que el problema es que estás tratando de eliminar elementos del Diccionario mientras iteras sobre las teclas. Creo que en ese caso no tienes más remedio que usar una segunda matriz.
Si puede usar listas genéricas y diccionarios en lugar de una ArrayList, lo haría, sin embargo, lo anterior debería funcionar.
fuente
No puedo creer todas estas respuestas complicadas. Asumiendo que la clave es de tipo: cadena (o use 'var' si es un desarrollador perezoso): -
fuente
using System.linq;
O así:
fuente
Para un diccionario híbrido, uso esto:
fuente
A menudo usé esto para obtener la clave y el valor dentro de un diccionario: (VB.Net)
(layerList es del tipo Dictionary (Of String, Integer))
fuente