public void Foo(IList list)
{
// Do Something with the list here.
}
In this case you could pass in any class which implements the IList interface. If you used List instead, only a List instance could be passed in.
The IList way is more loosely coupled than the List way.