Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to test for an empty generic.dictionary collection?

How do I test a generic dictionary object to see whether it is empty? I want to run some code as follows:

while (reportGraphs.MoveNext())
{
    reportGraph = (ReportGraph)reportGraphs.Current.Value;
    report.ContainsGraphs = true;
    break;
}

The reportGraph object is of type System.Collections.Generic.Dictionary When running this code then the reportGraphs dictionary is empty and MoveNext() immediately throws a NullReferenceException. I don't want to put a try-catch around the block if there is a more performant way of handling the empty collection.

Thanks.

like image 783
DEH Avatar asked Jan 18 '10 20:01

DEH


1 Answers

If it's a generic dictionary, you can just check Dictionary.Count. Count will be 0 if it's empty.

However, in your case, reportGraphs looks like it's an IEnumerator<T> - is there a reason your enumerating your collection by hand?

like image 182
Reed Copsey Avatar answered Sep 18 '22 13:09

Reed Copsey