日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

学习:C#中的空值的判断(转)

發布時間:2025/4/14 C# 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习:C#中的空值的判断(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

(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

????? DBNullDotNet是單獨的一個類型, 該類用于指示不存在某個已知值(通常在數據庫應用程序中)。該類只能存在唯一的實例,DBNULL.Value, DBNull唯一作用是可以表示數據庫中的字符串,數字,或日期,為什么可以表示原因是DotNet儲存這些數據的類(DataRow等)都是以 object 的形式來儲存數據的。對于 DataRow , 它的 row[column] 返回的值永遠不為 null 要么就是具體的為column 的類型的值 要么就是 DBNull 所以 row[column].ToString() 這個寫法永遠不會在ToString那里發生NullReferenceExceptionDBNull 實現了 IConvertible 但是,除了 ToString 是正常的外,其他的ToXXX都會拋出不能轉換的錯誤。

您可以通過將從數據庫字段檢索到的值傳遞給 DBNull.Value.Equals 方法,確定該字段值是否為 DBNull

?

?(4)Convert.IsDBNull()

???? Convert.IsDBNull()返回有關指定對象是否為 DBNull 類型的指示,即是用來判斷對象是否為DBNULL的。其返回值是TrueFlase

?

文章來源:http://www.cnblogs.com/huangfan1986/archive/2009/05/28/1491343.html

轉載于:https://www.cnblogs.com/LeimOO/archive/2009/11/05/1596800.html

總結

以上是生活随笔為你收集整理的学习:C#中的空值的判断(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。