... относительно того, почему это может взять пока 6x, quoth Wiki:
, поскольку IIf является библиотечной функцией, он будет всегда требовать издержек вызова функции, тогда как условный оператор более вероятно произведет встроенный код.
По существу IIf является эквивалентом тернарного оператора в C++/C#, таким образом, это дает Вам некоторую хорошую 1 строку, если/еще бы операторы типа, если Вы хотели бы его к. Можно также дать ему функцию, чтобы оценить, если Вы требуете.
Проблема заключалась в просмотре выражений во время отладки. Если эти старые выражения не удаляются, он просто продолжает их оценивать, и, поскольку они не существуют для текущей программы, они продолжают генерировать исключение нулевого указателя.