У меня есть следующий код, который, как я считаю, не работает должным образом, и я не могу понять, почему.VB Одиночная строка с нулевыми значениями
dim total as decimal? = If(first Is Nothing OrElse second Is Nothing, _
Nothing, _
Math.Abs(If(first, 0D)) - Math.Abs(If(second, 0D)))
Если либо первый или второй не ничего, то ничего не должно быть помещено в total
. Однако, если оба они имеют значения, они должны быть изменены на положительные значения, и необходимо вычислить first - second
. Первый и второй являются значениями с нулевым числом (десятичным?).
Ожидаемые результаты:
first = nothing
second = nothing
total = nothing
Фактические результаты:
first = nothing
second = nothing
total = 0D
Я не могу понять, почему если оператор не прыгает к истинному сегменту и не поставив ничего в переменную общего
вам не разрешено передавать значения NULL в Math.Abs () – theB3RV
Хм ... полезно знать. Раньше не сталкивался с этим. Я отредактирую свой ответ. –
, потому что ложная часть никогда не приведет ни к чему ... отсюда причина проверки предварительного условия – theB3RV