Re[2]: Разное поведение MaxItem в зависимости от типа (ref/value) T
От: MozgC США http://nightcoder.livejournal.com
Дата: 13.04.16 19:26
Оценка: 46 (1) +1
Здравствуйте, AndrewVK, Вы писали:

AVK>Что то я подумал, что вот так тупо переносить с типа элемента на тип контейнера логику бессмысленно. Поэтому теперь все вариации при отсутствии элементов возвращают default(TSource).


Таким образом может быть невозможно понять, нашли ли мы элемент с максимальным значением или нет.

Представим, что у нас есть IEnumerable<Point> и надо найти точку с максимальным значением по оси Y. В коде может быть неизвестно, есть/были ли в source коллекции элементы или нет:

var maxYpoint = data.Where(d => d.SomeProperty == xxx).Select(d => d.Point).MaxItem(p => p.Y);
// maxYpoint.X & Y == 0. Значит ли это что мы нашли точку с максимальным значением Y или у нас после фильтрации вообще элементов не было?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.