時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
null 關(guān)鍵字是表示不引用任何對象的空引用的文字值。null 是引用類型變量的默認(rèn)值。那么也只有引用型的變量可以為NULL,如果 int i=null,的話,是不可以的,因?yàn)镮nt是值類型的。
(2)""和String.Empty
這兩個都是表示空字符串。只不過""理論上重新開辟內(nèi)存空間,而String.Empty指向一處。不過優(yōu)化器會優(yōu)化的!
string.Empty不分配存儲空間, ""分配一個長度為空的存儲空間,所以一般用string.Empty,為了以后跨平臺,還是用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是一個空字符串,空字符串是一個特殊的字符串,只不過這個字符串的值為空,在內(nèi)存中是有準(zhǔn)確的指向的,string str2=null,這樣定義后,只是定義了一個string 類的引用,str2并沒有指向任何地方,在使用前如果不實(shí)例化的話,都將報(bào)錯。
2.在net 2.0中可用String.IsNullOrEmpty(param)檢測是否為null或?yàn)榭罩怠?/p>
當(dāng)Request.QueryString的標(biāo)識不存在時返回的是NULL,可以在空串上調(diào)用string類的所有方法,但null不可以,不可以在null上調(diào)用方法。
(3)DBNULL
DBNull在DotNet是單獨(dú)的一個類型, 該類用于指示不存在某個已知值(通常在數(shù)據(jù)庫應(yīng)用程序中)。該類只能存在唯一的實(shí)例,DBNULL.Value, DBNull唯一作用是可以表示數(shù)據(jù)庫中的字符串,數(shù)字,或日期,為什么可以表示原因是DotNet儲存這些數(shù)據(jù)的類(DataRow等)都是以 object 的形式來儲存數(shù)據(jù)的。對于 DataRow , 它的 row[column] 返回的值永遠(yuǎn)不為 null , 要么就是具體的為column 的類型的值 。 要么就是 DBNull 。 所以 row[column].ToString() 這個寫法永遠(yuǎn)不會在ToString那里發(fā)生NullReferenceException。DBNull 實(shí)現(xiàn)了 IConvertible 。 但是,除了 ToString 是正常的外,其他的ToXXX都會拋出不能轉(zhuǎn)換的錯誤。
您可以通過將從數(shù)據(jù)庫字段檢索到的值傳遞給 DBNull.Value.Equals 方法,確定該字段值是否為 DBNull 值
(4)Convert.IsDBNull()
Convert.IsDBNull()返回有關(guān)指定對象是否為 DBNull 類型的指示,即是用來判斷對象是否為DBNULL的。其返回值是True或Flase。
關(guān)鍵詞標(biāo)簽:C#
相關(guān)閱讀
熱門文章 eclipse中如何設(shè)置字體大小_eclipse字體大小設(shè)置方法 jsp 實(shí)現(xiàn)在線人數(shù)統(tǒng)計(jì) Eclipse優(yōu)化設(shè)置教程_Eclipse卡頓優(yōu)化設(shè)置技巧 JS截取字符串常用方法詳細(xì)整理
人氣排行 JS驗(yàn)證日期格式是否正確 Java中3DES加密解密調(diào)用示例 Java技術(shù)-J2EE開發(fā)日記-MyEclipse快捷鍵與插件大全 eclipse中如何設(shè)置字體大小_eclipse字體大小設(shè)置方法 Eclipse優(yōu)化設(shè)置教程_Eclipse卡頓優(yōu)化設(shè)置技巧 JavaScript基本語法-常量和變量 用Java刪除文件夾里的所有文件 100多個很有用的JavaScript函數(shù)以及基礎(chǔ)寫法匯總