Сообщение Разное поведение MaxItem в зависимости от типа (ref/value) T от 13.04.2016 17:50
Изменено 13.04.2016 18:10 MozgC
Доброе время суток,
А почему у нас разное поведение MaxItem в зависимости от типа (ref/value) TValue.
Если source-коллекция пустая, то если TValue — value type — выкидываем исключение, а если TValue — reference type — возвращаем null.
Или я что-то упускаю?
Я бы в случае, если source пустая, выкидывал исключение, но дополнительно сделал бы метод
А почему у нас разное поведение MaxItem в зависимости от типа (ref/value) TValue.
Если source-коллекция пустая, то если TValue — value type — выкидываем исключение, а если TValue — reference type — возвращаем null.
Или я что-то упускаю?
Я бы в случае, если source пустая, выкидывал исключение, но дополнительно сделал бы метод
MaxItemOrDefault(..., Func<TSource> defaultElementIfSourceIsEmpty /* Func<> for lazy creation */)
Разное поведение MaxItem в зависимости от типа (ref/value) T
Доброе время суток,
А почему у нас разное поведение MaxItem в зависимости от типа (ref/value) TValue.
В текущей реализации если source-коллекция пустая, то если TValue — value type — выкидываем исключение, а если TValue — reference type — возвращаем null.
Или я что-то упускаю?
Я бы в случае, если source пустая, выкидывал исключение, но дополнительно сделал бы метод
А почему у нас разное поведение MaxItem в зависимости от типа (ref/value) TValue.
В текущей реализации если source-коллекция пустая, то если TValue — value type — выкидываем исключение, а если TValue — reference type — возвращаем null.
Или я что-то упускаю?
Я бы в случае, если source пустая, выкидывал исключение, но дополнительно сделал бы метод
MaxItemOrDefault(..., Func<TSource> defaultElementIfSourceIsEmpty /* Func<> for lazy creation */)