Используя vb.net, следующий код генерирует исключение с помощью null-указателя, но выражение должно гарантировать, что match
не является нулевым.Оба пути оцениваются в тройном операторе?
repeater.DataSource = IIf(collection IsNot Nothing AndAlso match IsNot Nothing, collection.FindAll(match), collection)
Замена этого с регулярным, если-иначе построить не отбрасывается никакой ошибки:
If collection IsNot Nothing AndAlso match IsNot Nothing Then
repeater.DataSource = collection.FindAll(match)
Else
repeater.DataSource = collection
End If
ли как РАТН оценивается в тройном оператора?
Я рад, что вы приняли ответ, не стесняйтесь вверх голосовать ответ, а также. :-) –
Лучше было бы использовать оператор IF в VB.Net, который _does_ короткое замыкание. IIF - это просто нормальная функция. Ответ Хабиба - лучший. –
@ChrisDunaway - Я упомянул, что 'If' будет замыкаться в моем ответе, но вы можете защищать любой ответ, который вы считаете лучшим. –