List<T> or IList<T>

Peanut picture Peanut · Dec 30, 2008 · Viewed 213.8k times · Source

Can anyone explain to me why I would want to use IList over List in C#?

Related question: Why is it considered bad to expose List<T>

Answer

tvanfosson picture tvanfosson · Dec 30, 2008

If you are exposing your class through a library that others will use, you generally want to expose it via interfaces rather than concrete implementations. This will help if you decide to change the implementation of your class later to use a different concrete class. In that case the users of your library won't need to update their code since the interface doesn't change.

If you are just using it internally, you may not care so much, and using List<T> may be ok.