c 判斷字串空值的方法

2021-07-27 10:25:52 字數 1437 閱讀 8106

(1)null

null 關鍵字是表示不引用任何物件的空引用的文字值。null 是引用型別變數的預設值。那麼也只有引用型的變數可以為null,如果int i=null,的話,是不可以的,因為int是值型別的。

(2)""和string.empty

這兩個都是表示空字串。只不過""理論上重新開闢記憶體空間,而string.empty指向一處。不過優化器會優化的!

string.empty不分配儲存空間, ""分配乙個長度為空的儲存空間,所以一般用string.empty,為了以後跨平台,還是用string.empty。在c# 中,大多數情況下 "" 和 string.empty 可以互換使用。比如:

string s = "";

string s2 = string.empty;

if (s == string.empty) if語句成立

判定為空字串的幾種寫法,按照效能從高到低的順序是:

s.length == 0 優於 s == string.empty 優於 s == ""

注意:1.string str1="" 和 string str2=null 的區別。str1是乙個空字串,空字串是乙個特殊的字串,只不過這個字串的值為空,在記憶體中是有準確的指向的,string str2=null,這樣定義後,只是定義了乙個string 類的引用,str2並沒有指向任何地方,在使用前如果不例項化的話,都將報錯。

2.在net 2.0中可用string.isnullorempty(param)檢測是否為null或為空值。

當request.querystring的標識不存在時返回的是null,可以在空串上呼叫string類的所有方法,但null不可以,不可以在null上呼叫方法。

(3)dbnull

dbnull在dotnet是單獨的乙個型別, 該類用於指示不存在某個已知值(通常在資料庫應用程式中)。該類只能存在唯一的例項,dbnull.value, dbnull唯一作用是可以表示資料庫中的字串,數字,或日期,為什麼可以表示原因是dotnet儲存這些資料的類(datarow等)都是以 object 的形式來儲存資料的。對於 datarow , 它的 row[column] 返回的值永遠不為 null , 要麼就是具體的為column 的型別的值 。 要麼就是 dbnull 。 所以 row[column].tostring() 這個寫法永遠不會在tostring那裡發生nullreferenceexception。dbnull 實現了 iconvertible 。 但是,除了 tostring 是正常的外,其他的to***都會丟擲不能轉換的錯誤。

您可以通過將從資料庫字段檢索到的值傳遞給 dbnull.value.equals 方法,確定該字段值是否為 dbnull 值

(4)convert.isdbnull()

convert.isdbnull()返回有關指定物件是否為 dbnull 型別的指示,即是用來判斷物件是否為dbnull的。其返回值是true或flase。

C 字串為空判斷

字串 字串為空情況有4種,如下 string str1 string str2 string str3 string.empty string str4 null 判斷方法 c 判斷字串的string類的方法有2個,定義如下 摘要 指示指定的字串是 null 還是 system.string.emp...

iOS判斷字串為空的方法

在程式中使用乙個字串之前,判斷它是否為空是很有必要的,否則程式就可能會出現bug或者崩潰.乙個nsstring字串為空,通常意味著四種情況 1.nsstring物件沒有初始值 nsstring astr 宣告了乙個字串變數,未設定初始值此時,要判斷它是否為空,只需這樣 if astr nil 我曾經...

C 判斷字串是否為空

c 中問號可以判斷字元 引用 事件等是否為空,比如 action?invoke 判斷action是否為空,不為空則呼叫,這樣就避免了用if語句進行是否為空的判斷。開發中會遇到解析json的情況 jsondata.code jslist code jsondata.version jslist ver...