熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

asp中isNull、isEmpty和空字符串的區別

2013-11-13 10:45:38  來源: .NET編程 

  ASP中我們經常會用到兩個參數就是isNull和isEmpty在我們判斷某個字符串為空的時候使用比如某個字符串是str經常我們用if isNull(str) or isEmpty(str) then來判斷或者使用if str="" then來判斷字符串是否為空

 

  有時候我們非常糾結isNullisEmpty和""空字符串到底有什麼區別呢?

  isNull()

  Null 值指出變量不包含有效數據Null 與 Empty 不同後者指出變量未經初始化Null 與零長度字符串 ("") 也不同零長度字符串往往指的是空串

  重點 使用 IsNull 函數可以判斷表達式是否包含 Null 值在某些情況下想使表達式取值為 True例如 IfVar=Null 和 IfVar<>Null但它們通常總是為 False這是因為任何包含 Null 的表達式本身就為 Null所以表達式的結果為 False

  實例

 代碼如下   dim x
documentwrite(IsNull(x) & "<br />")x=
documentwrite(IsNull(x) & "<br />")x=Empty
documentwrite(IsNull(x) & "<br />")x=Null
documentwrite(IsNull(x))
輸出:
False
False
False
True

  
下面的示例利用 IsNull 函數決定變量是否包含 Null

 代碼如下  

  Dim MyVar MyCheck
MyCheck = IsNull(MyVar)      返回 False
MyVar = Null                 賦為 Null
MyCheck = IsNull(MyVar)      返回 True
MyVar = Empty                賦為 Empty
MyCheck = IsNull(MyVar)      返回 False

  isEmpty()

  如果變量未初始化或顯式地設置為 Empty則函數 IsEmpty 返回 True否則函數返回 False如果 exPRession 包含一個以上的變量總返回 False

  下面的示例利用 IsEmpty 函數決定變量是否能被初始化

 代碼如下  

  Dim MyVar MyCheck
MyCheck = IsEmpty(MyVar)      返回 True
MyVar = Null                  賦為 Null
MyCheck = IsEmpty(MyVar)      返回 False
MyVar = Empty                 賦為 Empty
MyCheck = IsEmpty(MyVar)      返回 True

  零長度字符串 ("") 
零長度字符串往往指的是空串
str=""將空字符串賦給str變量已經賦值了且賦的是字符

  三者的區別就是 
isnull是一種類型測試測試是否為空值(null)類型 
isEmpty是一種值測試測試是否是空值但這個不同語言中采用的方法不同 
=""是串測試測試值是否為空值

  說一個isEmpty吧在有些語言中isEmpty是一種空值測試它可以測試以下內容

 代碼如下  

  dim str as string 
isEmpty(str)=True

  str = "" 
isEmpty(str)=True

  str = null 
isEmpty(str)=True

  dim str as integer 
str =  
isEmpty(str) = True

  也就是部分語言中把數據中的字符中的空串NULL值都作為空值的測試范疇

  但在C#等語言中的要求比較嚴格VB中要求也不是很嚴格的這裡只要了解一個特殊的類型null類型它的類當然也是null同時有些語言上還有一種未定義型 
undefined類型如在C#中 
string str ; 
則string只有這一個的定義所以它的值還沒有真正被定義此時它就是undefined類型的這種類型常存在於C族語言和類C族如ECMAScript族(javascript等)及Java中!

  補充在數據庫設計中可以規定某字段為null這樣如果不再給他賦值時此記錄即為null但是在表格輸出時null記錄將破壞表格的結構即表格中的格線將消失很多人在可能出現這種情況時會在數據庫中設默認值或在處理時給此記錄賦一個空串


From:http://tw.wingwit.com/Article/program/net/201311/14453.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.