List
C# では、オブジェクト コレクションを管理するために List<T>
と IList<T>
の両方が提供されます。一見似ていますが、その違いはコード設計に大きな影響を与えます。
どのような場合に優先するか IList<T>
外部で使用するライブラリを設計する場合、具体的な実装上でインターフェイスを使用することが重要です。 IList<T>
はこの抽象化を提供します。 新しい型が List<T>
を実装している限り、後で基礎となるコレクション型を切り替えても (例: LinkedList<T>
から IList<T>
に)、外部コードは中断されません。
内部考慮事項
内部コードの場合、選択はそれほど重要ではないかもしれません。 外部被ばくが心配ない場合は、List<T>
で十分かもしれません。ただし、将来の変更や外部ライブラリの統合の可能性を防ぐために、最初は IList<T>
を採用することをお勧めします。
List<T>
を直接公開しない理由
List<T>
を直接公開すると、クラスとそのコンシューマの間に密結合が作成されます。 基礎となるコレクション型を後から (パフォーマンス上の理由などで) 変更すると、すべての依存コードを更新する必要があります。 IList<T>
を使用すると、実装の詳細が隠蔽され、疎結合が促進されます。
以上がリスト対イリストC#:いつIlistを選ぶ必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。