¿Cómo pruebo un objeto de diccionario genérico para ver si está vacío? Quiero correr un cierto código de la siguiente manera:¿Cómo hacer una prueba para una colección generic.dictionary vacía?
while (reportGraphs.MoveNext())
{
reportGraph = (ReportGraph)reportGraphs.Current.Value;
report.ContainsGraphs = true;
break;
}
El objeto reportGraph es de tipo System.Collections.Generic.Dictionary Cuando se ejecuta este código, a continuación el diccionario reportGraphs está vacío y MoveNext() lanza inmediatamente una NullReferenceException. No quiero poner un try-catch alrededor del bloque si hay una forma más eficaz de manejar la colección vacía.
Gracias.
¿Estás seguro de que 'reportGraphs' en sí mismo no es' nulo'? – dtb
'System.Collections.Generic.Dictionary' no * tiene * un método' MoveNext() '. ¿Estás seguro de que no estás pensando en un iterador sobre un Diccionario? –
Lo siento, reportGraphs en realidad se define como .Enumerator, como en reportGraphs = new System.Collections.Generic.Dictionary .Enumerator(); Entonces, cualquier forma de detectar que MoveNext() generará una excepción cuando se aplique al Enumerador. Si trato de buscar nulo me sale El operador '! =' No se puede aplicar a los operandos del tipo 'System.Collections.Generic.Dictionary .Enumerator' y '' –
DEH