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