使用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())

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...