0、""(空字串)、Null、Empty、與 Nothing 的區別 (轉)
0、""(空字串)、Null、Empty、與 Nothing 的區別 (轉)[@more@]0、""(空字串)、Null、Empty、與 Nothing 的區別
先回答以下問題吧! 經過以下的敘述之後, 變數 A、B、C、D 分別等於 0、
""、Null、 Empty、 Nothing 的哪一個?
Dim A
Dim B As String
Dim C As Integer
Dim D As
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。
先回答以下問題吧! 經過以下的敘述之後, 變數 A、B、C、D 分別等於 0、
""、Null、 Empty、 Nothing 的哪一個?
Dim A
Dim B As String
Dim C As Integer
Dim D As
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。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-990134/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql 空值(null)和空字元('')的區別MySqlNull字元
- JavaScript中0, "", null, false, undefined的區別JavaScriptNullFalseUndefined
- PostgreSQLoracle相容性-字串內嵌NULL字元(空字元)chr(0)轉換為chr(32)SQLOracle字串Null字元
- PHP isset()與empty()的使用區別詳解PHP
- JavaScript undefined與null區別JavaScriptUndefinedNull
- Jackson中DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT和ACCEPT_EMPTY_STRING_AS_NULL_OBJECTNullObject
- 記錄一次laravel 會把空字串轉為 null的小坑Laravel字串Null
- null 和 undefined 的區別NullUndefined
- null 和 undefined 的區別!NullUndefined
- JS 應用篇(一):Undefined與Null的區別JSUndefinedNull
- json 物件與json 字串的區別。JSON物件字串
- 字串大小的不同求法與區別字串
- mysql中null與“空值”的坑MySqlNull
- JavaScript中的“undefined、null”區別?JavaScriptUndefinedNull
- 【Redis】錯誤:failed: Hostname must not be empty or nullRedisAINull
- undefined 和 null 區別?UndefinedNull
- null和undefined區別NullUndefined
- 實習記錄day02:MySQL是有null和空的區別的MySqlNull
- JS 的型別(null 和 undefined 的區別)JS型別NullUndefined
- exit(0)與exit(1)、return的區別
- PathVariable annotation was empty on param 0
- js中null和undefined的區別JSNullUndefined
- js中undefined和null的區別JSUndefinedNull
- javascrit中undefined和null的區別JavaUndefinedNull
- Object.create(null) 和 {} 的區別ObjectNull
- 2>/dev/null和>/dev/null 2>&1和2>&1>/dev/null的區別devNull
- PHP7 ?? 與 ?: 的作用和區別(null合併運算子, null條件運算子)PHPNull
- java字串“==”與“equals”的差異及與c#的區別Java字串C#
- 字串指標與字元陣列的區別--字串常量的值不能改字串指標字元陣列
- js判斷輸入字串是否為空、空格、null總結JS字串Null
- 字串的match方法與正則的exec方法的區別字串
- Python中none和null的區別詳解!PythonNoneNull
- NULL在oracle和mysql索引上的區別NullOracleMySql索引
- JavaScript 05筆記(null、undefined、NaN的區別)JavaScript筆記NullUndefinedNaN
- 三維空間變換中旋轉矩陣左乘與右乘的區別矩陣
- java中判斷String型別為空和null的方法Java型別Null
- Gson轉換與JSONObject區別JSONObject
- jquery中dom節點操作方法empty和remove的區別jQueryREM
- 大神教你如何判斷Python中字串是否為空和nullPython字串Null