Junior — Middle
What is the difference between the IList interface and the List collection type in C#?
sobes.tech AI
Answer from AI
IList<T> is an interface that defines a set of methods and properties for working with a collection that supports indexing, adding, removing elements, etc. It sets a contract that various collection classes can implement.
List<T> is a concrete implementation of the IList<T> interface, providing a dynamic array with fast access by index, and the ability to add and remove elements.
Main differences:
- IList<T> is an abstraction that allows writing code independent of the specific collection implementation.
- List<T> is a concrete class with an implementation that can be used directly.
Example:
IList<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
Console.WriteLine(numbers[0]); // 1
Here, the variable is declared as IList<int>, which provides flexibility to change the implementation without altering the rest of the code.