想象一下,您正在使用的一个对象具有与其关联的其他对象的集合,例如 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 }
我的问题是您认为第二种选择的编程实践有多差,为什么?与通过集合的循环相比,它的性能如何?