どちらを使用するべきか誰にも教えてもらえますか?.
たとえば、コレクションまたは個々のアイテムの.Countにアクセスする場合は、IListを使用する必要があると思いますよね?
ありがとうございました。
一般的に言えば、目的に合った最も具体的なタイプを試してみてください。 IEnumerable
はIList
より具体性が低い(IList
はIEnumerable
を実装する)ので、IList
から特定のものが必要でない限り(Count
、またはおそらくAdd
、Delete
など)、IEnumerable
を使用します。
IEnumerable
を使用する利点の1つは、イテレータメソッドを記述してこの型を返すことができることです(慣れていない場合は、「yield return」とイテレータメソッドを検索してください)。これにより、非常にメモリ効率の高い「パイプライン」をループに書き込むことができます。
コレクション内のアイテムをループ処理する場合は、IEnumerableを使用します。
IListは、リストのコンテンツを順不同で追加、削除、アクセスしたい場合です。
エンティティのコレクションのIListとIEnumerable
http://www.informit.com/guides/content.aspx?g=dotnet&seqNum=722
コレクションへのインデックスによるアクセス、要素の追加や削除などが必要な場合はIListを使用し、コレクションを列挙するだけの場合はIEnumerableを使用する必要があります。
非常に簡単な答えですが、シナリオを説明していただければ拡張させていただきます。