Рассмотрим этот фрагмент кода:
Func<int, bool> TestGreaterThanOne = delegate(int a) {
if (a > 1) return (true);
else return(false);
};
В приведенном выше коде я не могу удалить оператор «else return (false )» -, компилятор предупреждает, что не все пути кода возвращают значение. Но в следующем коде, в котором используется лямбда...
Func<int, bool> TestGreaterThanOne = a => a > 1;
Мне не нужно иметь оператор «else» -, нет предупреждений компилятора, и логика работает так, как ожидалось.
Какой механизм здесь задействован, чтобы у меня не было оператора «else» в моей лямбде?