Difference between List and IList [duplicate]

In C# List is a concrete implementation of the IList interface. The List is an implementation of the IList Interface. The idea is to program against the interface, not the implementation. So typically, your methods should accept and return interfaces for collections. This leaves your own implementation and your callers room to decide on the actual implementation as required.

Benefit of using an Interface is that you get to implement your functionality or better yet, the only functionality you require. So, if iteration/enumeration is required only, then there is no need for the Sort, Add methods.


List implements IList interface

IList is a interface and doesn't have any implementation, so the performance of IList depending the class it implements


IList is the interface - see this question for more information - List<T> or IList<T>