Come si verifica un oggetto dizionario generico per vedere se è vuoto? Voglio correre un po 'di codice come segue:Come testare una raccolta generica di generic.dictionary?
while (reportGraphs.MoveNext())
{
reportGraph = (ReportGraph)reportGraphs.Current.Value;
report.ContainsGraphs = true;
break;
}
L'oggetto reportGraph è di tipo System.Collections.Generic.Dictionary Quando si esegue questo codice, allora il dizionario reportGraphs è vuota e MoveNext() genera immediatamente un NullReferenceException. Non voglio mettere un try-catch attorno al blocco se c'è un modo più performante di gestire la raccolta vuota.
Grazie.
Sei sicuro che 'reportGraphs' stesso non sia' null'? – dtb
'System.Collections.Generic.Dictionary' non ha * un metodo' MoveNext() '. Sei sicuro di non pensare a un iteratore su un dizionario? –
Molto dispiaciuto, reportGraphs è effettivamente definito come .Enumerator, come in reportGraphs = new System.Collections.Generic.Dictionary .Enumerator(); Quindi, qualsiasi modo per rilevare che MoveNext() genererà un'eccezione quando viene applicata all'Enumeratore. Se provo a verificare la presenza di null, ottengo l'operatore "! =" Non può essere applicato agli operandi di tipo "System.Collections.Generic.Dictionary .Enumerator" e "" –
DEH