配列が IList インターフェイスを実装する理由
.NET Array クラスは、インデックスによる要素への高速アクセスを可能にする IList インターフェイスを実装します。 IList (およびその汎用の IList
配列は効率的なインデックス付きアクセスを提供しますが、コード スニペットに示すように制限があります。
int[] list = new int[] {}; IList iList = (IList)list; ilist.Add(1); // exception here
配列は本質的に固定サイズの構造体であり、Add() や Remove() などのメソッドはサポートされていません。これは、配列の長さが作成時に決定され、変更できないためです。
配列に IList を実装する根拠は、基礎となる実装に関係なく、コレクションに共通のインターフェイスを提供することです。これにより、開発者は一貫した API を使用してさまざまなコレクションを操作できるようになります。
配列には制限がありますが、IList の実装により、プログラマは配列を IList インターフェイスに簡単にキャストし、インデクサー機能を使用して要素にアクセスできます。すべてのコレクション タイプでサポートされているわけではありません。
現在のコレクション インターフェイスには設計上の欠陥があると主張する人もいるかもしれませんが、その契約上の特性により置換原則の遵守が保証されており、 IList が期待される配列。
以上が.NET 配列はサイズが固定されているにもかかわらず、なぜ IList インターフェイスを実装するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。