Если сравнивать с минимумом или максимумом двух чисел/функций, происходит ли короткое замыкание на С#, если это верно для первого и будет означать истину для второго? Конкретными примерами этих случаев являются
if(x < Math.Max(y, z()))
и
if(x > Math.Min(y, z()))
Так как Math.Max(y, z())
вернет значение, по крайней мере, такое же, как y, если x < y, тогда нет необходимости оценивать z(), что может занять некоторое время. Аналогичная ситуация с Math.Min
.
Я понимаю, что они могут быть переписаны по строкам
if(x < y || x < z())
для короткого замыкания, но я думаю, что более ясно, что такое сравнение без перезаписи. Это короткое замыкание?