1

重複の可能性:
IListを使用する場合とListを使用する場合

この質問は、.NET Frameworkの理解が不足している可能性がありますが、データセットをリストに含めるのではなく、実際にインターフェイスにデータセットを含めることの利点は何ですか?これまで私は使用List<T>しただけで、必要なことはほとんど実行しているようですが、他の人のコードを見ると、誰かがIEnumerable<T>IQueryable/ IQueryable<T>、、、ICollection<T>さらにはを使用することが非常に頻繁にあることがわかりIList<T>ます。List<T>そうは言っても、との違いは何IList<T>ですか?

それらのいくつかは含まれているオブジェクトで異なる機能を持っていることを理解していますが、どれが最も安全ですか?IEnumerable

4

1 に答える 1

3

タイプをインターフェイスタイプに設定すると、を実装する任意のIList<T>タイプを使用できます。

使用するList<T>場合は、そのタイプとそれを継承するタイプのみを使用できます。

使用法によって異なります。反復する必要があるIEnumerable<T>場合はを使用し、アイテムを追加/削除する必要がある場合はを使用しますICollection<T>。コレクションにインデックスを付ける必要がある場合はIList<T>、などを使用してください。

于 2013-01-11T13:43:28.170 に答える