使用VB.NET IIF我得到NullReferenceException

我做一个小调试,所以我想记录eventArgs值

我有一条简单的线,基本上做:

logLine = "e.Value: " + IIf(e.Value Is Nothing, "", e.Value.ToString())

我理解IIF函数的方式,如果e.Value是Nothing(null),那么它应该返回空字符串,如果不是,它应该返回值的.ToString。我是,但是得到一个NullReferenceException。这对我来说没有意义。

有任何想法吗?

IIf是一个实际的函数,因此所有的参数都会被求值。 If关键字添加到VB.NET 2008以提供您期望的短路功能。

尝试

logLine = "e.Value: " + If(e.Value Is Nothing, "", e.Value.ToString())
http://stackoverflow.com/questions/428959/using-vb-net-iif-i-get-nullreferenceexception

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:使用VB.NET IIF我得到NullReferenceException