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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#中的空值的判断

發(fā)布時(shí)間:2025/3/15 C# 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#中的空值的判断 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
  • C#中的空值的判斷
    • 作者:用心感受生活????文章來源:www.cnblogs.com????發(fā)布日期:2009-5-29 8:04:25????瀏覽次數(shù):774
    • 打印這篇文章
    • (1)NULL

      null 關(guān)鍵字是表示不引用任何對(duì)象的空引用的文字值。null 是引用類型變量的默認(rèn)值。那么也只有引用型的變量可以為NULL,如果 int i=null,的話,是不可以的,因?yàn)?/span>Int是值類型的。

      ?

      (2)""String.Empty

      ?? 這兩個(gè)都是表示空字符串。只不過""理論上重新開辟內(nèi)存空間,而String.Empty指向一處。不過優(yōu)化器會(huì)優(yōu)化的!

      ?? string.Empty不分配存儲(chǔ)空間, ""分配一個(gè)長度為空的存儲(chǔ)空間,所以一般用string.Empty,為了以后跨平臺(tái),還是用string.empty。在 C# 中,大多數(shù)情況下 "" string.Empty 可以互換使用。比如:

      string s = "";

      string s2 = string.Empty;

      ?

      if (s == string.Empty) {

      ? //

      }if語句成立

      ?

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

      ?

      s.Length == 0? 優(yōu)于 s == string.Empty? 優(yōu)于 s == ""?

      ?

      ?

      注意:

      ?

      ?? 1.string str1="" string str2=null 的區(qū)別。str1是一個(gè)空字符串,空字符串是一個(gè)特殊的字符串,只不過這個(gè)字符串的值為空,在內(nèi)存中是有準(zhǔn)確的指向的,string str2=null,這樣定義后,只是定義了一個(gè)string 類的引用,str2并沒有指向任何地方,在使用前如果不實(shí)例化的話,都將報(bào)錯(cuò)。

      ?

      ? 2.net 2.0中可用String.IsNullOrEmpty(param)檢測(cè)是否為null或?yàn)榭罩怠?/span>

      ?

      當(dāng)Request.QueryString的標(biāo)識(shí)不存在時(shí)返回的是NULL,可以在空串上調(diào)用string類的所有方法,但null不可以,不可以在null上調(diào)用方法。

      ?

      (3)DBNULL

      ?

      ????? DBNullDotNet是單獨(dú)的一個(gè)類型, 該類用于指示不存在某個(gè)已知值(通常在數(shù)據(jù)庫應(yīng)用程序中)。該類只能存在唯一的實(shí)例,DBNULL.Value, DBNull唯一作用是可以表示數(shù)據(jù)庫中的字符串,數(shù)字,或日期,為什么可以表示原因是DotNet儲(chǔ)存這些數(shù)據(jù)的類(DataRow等)都是以 object 的形式來儲(chǔ)存數(shù)據(jù)的。對(duì)于 DataRow , 它的 row[column] 返回的值永遠(yuǎn)不為 null 要么就是具體的為column 的類型的值 要么就是 DBNull 。 所以 row[column].ToString() 這個(gè)寫法永遠(yuǎn)不會(huì)在ToString那里發(fā)生NullReferenceException。DBNull 實(shí)現(xiàn)了 IConvertible 。 但是,除了 ToString 是正常的外,其他的ToXXX都會(huì)拋出不能轉(zhuǎn)換的錯(cuò)誤。

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

      ?

      ? (4)Convert.IsDBNull()

      ?

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

      ?

      PS:本文經(jīng)個(gè)人網(wǎng)上收集整理,并加入開發(fā)中遇到的問題,在此澄清請(qǐng)不要做人身攻擊,本文的目的只是只是共享

總結(jié)

以上是生活随笔為你收集整理的C#中的空值的判断的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。