簡體   English   中英

捕獲異常與遍歷集合(較不愚蠢的方式)

[英]Catching an exception vs. looping through a collection (the less stupid way)

一家未命名的公司具有IFormsCollection.GetForms("ObjectIndex") || IFormsCollection.GetForms(0) IFormsCollection.GetForms("ObjectIndex") || IFormsCollection.GetForms(0)方法,如果Form不在集合中,則拋出異常。 它不是IEnumerable<form>並且需要for()循環或.GetEnumerator() -> while()來獲取列表中的每個項目。

我的問題是我是否應該每次都遍歷IForms集合? 我需要找到大多數時間都不會出現的表單,或者只是跳過循環並假設它是否拋出了一個不存在的異常? 為了避免搜索,我寧願不要維護另一個可枚舉的集合。

異常會降低性能。 如果願意,可以明顯地循環,但是如果您從此集合中構建一個字典,鍵為名稱,值為形式,則可以更快。 然后簡單地在字典中搜索密鑰,那會更快,而且沒有例外

不要故意拋出異常。 它們不應用於常規控制流。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM