dim MyStr as string="1"
If Convert.toInt32(MyStr)=vbNull Then
System.Console.WriteLine("Null")
Else
System.Console.WriteLine("Not Null")
End If
dim Myval as integer="1"
If Myval=vbNull Then
System.Console.WriteLine("Null")
Else
System.Console.WriteLine("Not Null")
End If
即使它有值,此代碼也會回傳“null”。如果我將“2”作為值,則顯示“非空”,任何人都可以解釋為什么顯示“空”。
uj5u.com熱心網友回復:
那里有很多錯誤,但是解決所提出的具體問題,您對vbNull實際情況感到困惑。如果您在代碼中將滑鼠懸停在它上面,您會看到它是一個帶有 value 的常量VariantType.Null。VariantType是一個列舉,與所有列舉一樣,它的欄位具有數值。猜猜這個欄位的數值是多少Null。沒錯,就是1。
簡而言之,您根本不應該使用vbNull,但實際上不可能說出您應該做什么,因為您的問題沒有解釋您實際想要實作的目標。如果要確定變數是否沒有值,則應將其與Nothing. 問題是,對于像 等不可為空的值型別Integer,Nothing將對應于該型別的默認值,例如 0。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/511595.html
標籤:VB.net视觉工作室 2017
