想象一下,您正在使用的对象具有与其关联的其他对象的集合,例如,WinForm上的Controls集合.您想要检查集合中的某个对象,但该集合没有Contains()
方法.有几种方法可以解决这个问题.
Contains()
通过循环遍历集合中的所有项来实现您自己的方法,以查看其中一个是否是您正在寻找的.这似乎是"最佳实践"方法.
我最近遇到了一些代码,而不是循环,尝试访问try语句中的对象,如下所示:
try { Object aObject = myCollection[myObject]; } catch(Exception e) { //if this is thrown, then the object doesn't exist in the collection }
我的问题是你认为第二种选择的编程习惯有多差,为什么?它的性能与集合中的循环相比如何?