Информация об изменениях

Сообщение Разное поведение MaxItem в зависимости от типа (ref/value) T от 13.04.2016 17:50

Изменено 13.04.2016 18:01 MozgC

Доброе время суток,

А почему у нас разное поведение MaxItem в зависимости от типа (ref/value) TValue.
Если source-коллекция пустая, то если TValue — value type — выкидываем исключение, а если TValue — reference type — возвращаем null.

Или я что-то упускаю?
Доброе время суток,

А почему у нас разное поведение MaxItem в зависимости от типа (ref/value) TValue.
Если source-коллекция пустая, то если TValue — value type — выкидываем исключение, а если TValue — reference type — возвращаем null.

Или я что-то упускаю?

Я бы в случае, если source пустая, выкидывал исключение, но дополнительно сделал бы метод
MaxItemOrDefault(..., Func<TSource> defaultElementIfSourceIsEmpy /* Func<> for lazy creation */)