18

如何测试通用字典对象以查看它是否为空?我想运行一些代码如下:

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

reportGraph 对象的类型为 System.Collections.Generic.Dictionary 运行此代码时,reportGraphs 字典为空,并且 MoveNext() 立即引发 NullReferenceException。如果有一种更高效的方式来处理空集合,我不想在块周围放置一个 try-catch。

谢谢。

4

2 回答 2

33

如果它是通用字典,您只需检查Dictionary.Count即可。如果为空,则计数将为 0。

但是,在您的情况下,reportGraphs它看起来像IEnumerator<T>- 您手动枚举您的收藏有什么原因吗?

于 2010-01-18T20:25:32.083 回答
6

empty字典和null. 调用MoveNext空集合不会产生NullReferenceException. 我想在你的情况下你可以测试 if reportGraphs != null

于 2010-01-18T20:25:15.677 回答