Здравствуйте, -n1l-, Вы писали:
S>>Потому что это максимально упрощённый пример, в реальном коде был цикл. N>Цикл который ищет максимальный элемент?
Вот давайте дождёмся ответа, а потом я уже буду спойлерить
S>>Вопрос стандартный: что не так-то?
A>На пустой последовательности падает?
Вот про этот момент я не подумал, но в принципе это не критично. Max() тоже бросает исключение для некоторых типов.
Здравствуйте, -n1l-, Вы писали:
N>Переопределенные операторы > и < могут возвращать все что угодно, а не только bool для объектов которые могут использоваться в aggregate.
Ещё теплее. Подсказка: тип значений — примитив.
Здравствуйте, Sinix, Вы писали:
S>Здравствуйте, -n1l-, Вы писали:
N>>Переопределенные операторы > и < могут возвращать все что угодно, а не только bool для объектов которые могут использоваться в aggregate. S>Ещё теплее. Подсказка: тип значений — примитив.
Надо глянуть, могут ли переопределенные операторы возвращать значения другого типа
N>>>Переопределенные операторы > и < могут возвращать все что угодно, а не только bool для объектов которые могут использоваться в aggregate. S>>Ещё теплее. Подсказка: тип значений — примитив.
C>Надо глянуть, могут ли переопределенные операторы возвращать значения другого типа
Конечно могут
public static C operator >(C a, C b)
{
return null;
}
public static C operator <(C a, C b)
{
return null;
}
static void PleaseStop()
{
C a = new C();
C b = a < a;
...
}