[英]Using exception filtering in c# 6.0 (with typeof()) VS. catching custom exception
[英]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.