VB (空字串)、Null、Empty、與 Nothing 的區別
http://blog.sina.com.cn/s/blog_3f39ffb50100bguw.html
變量 A、B、C、D 分別等於 0、""、Null、 Empty、 Nothing 的哪一個?
Dim A
Dim B As String
Dim C As Integer
Dim D As Object
A 等於 Empty, 因為尚未初始化的「不定型變量」都等於 Empty。但如果檢
測 A = "" 或 A = 0, 也都可以得到 True 值。
B 等於 "", 因為尚未初始化的非固定長度「字串」都等於 "" 。 但請注意
B<> Null。
C 等於 0, 這個還有問題嗎?
D 等於 Nothing, 尚未設定有物件的「物件變量」都等於 Nothing, 但請不
要使用 D = Nothing , 而要使用 D Is Nothing 來判斷 D 是否等於 Nothing,
因為判斷 是否相等的符號是 Is 不是 = 。
最令人迷惑的地方是 Null 這個保留字, 請看以下語句:
Print X = Null
Print X <> Null
結果都是輸出 Null(不是 True 也不是 False), 這是因為任何一個運算式只
要含有 Null , 則該運算式就等於 Null, 實際上想要判斷某一 數據是否為 Null
絕對不能使用:
If X = Null Then ' 永遠都會得到 Null
而要使用:
If IsNull(X) Then
哪一種 數據會等於 Null 呢? 除了含有 Null 運算式之外, 就屬沒有輸入任
何 數據的「 數據字段」(在 數據庫中) 會等於 Null。
Dim A
Dim B As String
Dim C As Integer
Dim D As Object
A 等於 Empty, 因為尚未初始化的「不定型變量」都等於 Empty。但如果檢
測 A = "" 或 A = 0, 也都可以得到 True 值。
B 等於 "", 因為尚未初始化的非固定長度「字串」都等於 "" 。 但請注意
B<> Null。
C 等於 0, 這個還有問題嗎?
D 等於 Nothing, 尚未設定有物件的「物件變量」都等於 Nothing, 但請不
要使用 D = Nothing , 而要使用 D Is Nothing 來判斷 D 是否等於 Nothing,
因為判斷 是否相等的符號是 Is 不是 = 。
最令人迷惑的地方是 Null 這個保留字, 請看以下語句:
Print X = Null
Print X <> Null
結果都是輸出 Null(不是 True 也不是 False), 這是因為任何一個運算式只
要含有 Null , 則該運算式就等於 Null, 實際上想要判斷某一 數據是否為 Null
絕對不能使用:
If X = Null Then ' 永遠都會得到 Null
而要使用:
If IsNull(X) Then
哪一種 數據會等於 Null 呢? 除了含有 Null 運算式之外, 就屬沒有輸入任
何 數據的「 數據字段」(在 數據庫中) 會等於 Null。
