0

重複の可能性:
IEnumerable インターフェイスに ForEach 拡張メソッドがないのはなぜですか?

ObservableCollections クラスでは ForEach 拡張メソッドを使用できないのに、List では使用できるのはなぜですか?

4

3 に答える 3

3

JJohn が言うように、それは設計によるものです。詳細については、Eric Lippert によるこの投稿を参照してください。標準foreachループも同様に機能し、一般的に読みやすくなっています。

于 2012-06-10T14:19:48.497 に答える
2

ForEachでのみ使用できList<T>、他のコレクションでは使用できません。あくまでもデザイン決定です。

于 2012-06-10T14:18:25.903 に答える
0

Foreach は、IEnumerable を実装するクラスのオブジェクトでのみ使用できます。IEnumerable は、IEnumerator インターフェイスを返す 1 つのメソッド GetEnumerator を定義するインターフェイスです。これにより、コレクションへの読み取り専用アクセスが許可されます。IEnumerable を実装するコレクションは、foreach ステートメントで使用できます。

于 2012-06-10T14:59:28.553 に答える