0

名前を付けない会社にはIFormsCollection.GetForms("ObjectIndex") || IFormsCollection.GetForms(0)、フォームがコレクションにない場合に例外をスローするメソッドがあります。リスト内の各項目を取得するには、ループまたは->IEnumerable<form>が必要ではありません。for().GetEnumerator()while()

私の質問は、毎回 IForms コレクションをループする必要があるかどうかです。ほとんどの場合そこにないフォームを見つける必要がありますか、それともループをスキップして、例外がスローされた場合にそれが存在しないと想定する必要がありますか? 検索を容易にするために、IS IEnumerable の 2 番目のコレクションを維持したくありません。

4

2 に答える 2

4

例外はパフォーマンスを低下させます。必要に応じて明らかにループすることもできますが、このコレクションから、キーが名前で値がフォームであるディクショナリを作成すると、はるかに高速になります。次に、辞書でキーを検索するだけで、はるかに高速になり、例外もありません

于 2013-09-12T15:12:26.970 に答える
3

意図的に例外をスローしないでください。通常の制御フローには使用しないでください。

于 2013-09-12T15:07:25.740 に答える