Dot-Net

使用 VB.NET IIF 我得到 NullReferenceException

  • January 9, 2009

我正在做一些調試,所以我想記錄 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())

引用自:https://stackoverflow.com/questions/428959