Зачем возвращать интерфейс коллекции, а не конкретный тип? [Дубликат]

На этот вопрос уже есть ответ здесь:

Список <T> или IList <T> 18 ответов

Я заметил в коде других людей, что методы, возвращающие общие коллекции, почти всегда возвращают интерфейс (например,IEnumerable<T> или жеIList<T>), а не конкретная реализация.

У меня есть два связанных вопроса. Во-первых, почему (если вообще) считается, что лучше вернуть интерфейс? Во-вторых, есть ли интерфейс коллекции, который включает метод Sort (какList<T> делает)?

Ответы на вопрос(4)

Ваш ответ на вопрос