У меня есть условное выражение, которое неверно сообщает значение переменной как равное 0, когда в действительности оно содержит целочисленное значение 50000000.
Выражение @[User::RowCount] != 0
, и если оно оценивается как False, то выполнение останавливается. Проблема заключается в том, что это выражение последовательно оценивается как False для некоторых таблиц (поток выполняется один раз для каждой таблицы в al oop), несмотря на то, что значение @[User::RowCount]
равно 5000000.
Если Я переворачиваю выражение на @[User::RowCount] == 0
, оно оценивается как Истина.
Когда я наблюдаю фактическое значение переменной с помощью отладчика Visual Studio, тип равен 'Int32', а значение равно 5000000. Я проверяю это значение и результат выражения в точках останова preExecute и postExecute, а также результат тот же.
Почему отладчик сообщает, что переменная имеет значение> 0, а выражение думает, что переменная == 0 ??