ObservableCollections クラスでは ForEach 拡張メソッドを使用できないのに、List では使用できるのはなぜですか?
3115 次
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 に答える