0

如果 Form 不在集合中,则应保持未命名的公司具有IFormsCollection.GetForms("ObjectIndex") || IFormsCollection.GetForms(0)引发异常的方法。它不是IEnumerable<form>并且需要for()循环或.GetEnumerator()->while()来获取列表中的每个项目。

我的问题是我是否应该每次都遍历 IForms 集合?我需要找到一个大部分时间都不存在的表单,或者只是跳过循环并假设它是否引发异常它不存在?为了便于搜索,我宁愿不维护 IS IEnumerable 的第二个集合。

4

2 回答 2

4

异常会扼杀性能。如果你愿意,你可以明显地循环,但如果你从这个集合中构建一个字典,键是名称,值是表单,它会更快。然后只需在字典中搜索键,这会快得多,而且没有例外

于 2013-09-12T15:12:26.970 回答
3

不要故意抛出异常。它们不应该用于正常的控制流。

于 2013-09-12T15:07:25.740 回答