Может быть выгодно, чтобы метод возвращал IOrderedEnumerable<T> вместо IEnumerable<T>?
Может быть выгодно, чтобы метод возвращал IOrderedEnumerable вместо IEnumerable?
2 ответа
Решение
Только если вы ожидаете, что люди будут каждый раз заказывать это перечислимое и будет трудно понять, как это сделать, ИЛИ, если вы можете предоставить коллекцию, которая реализует этот интерфейс, который может эффективно упорядочить ее содержимое и в сочетании с методом расширения, который знает вашей коллекции.
Лучший вариант - вернуть определенный тип коллекции (подробности см. В Рихтере). 99 раз из 100, кто бы ни получал даже простое перечислимое, может использовать стандартные методы расширения linq, чтобы заказать его, если они захотят.
В частности, стоило бы сделать, если это имеет смысл для дальнейшего .ThenBy
звонки, а не иначе.