認識全面的NULL(摘抄)

2021-07-11 03:16:44 字數 698 閱讀 6716

(1)null並不等同於0,也不等同與string.empty,也不等於數字0,null是標示引用的一種狀態,標示什麼都沒有,為乙個空引用。

(2)null為引用物件的預設值。

(3)對任何值為null的物件進行操作,都會丟擲nullreferenceexception異常。

(4)判斷乙個物件是否為null,可以用==和!=來完成。

(5)null是引用型別特有的產物,所以對值型別賦值為null將會引起錯誤。然而,在實際中,我們希望用同等**處理值型別和引用型別,這催生了下面兩種相同的表達方式:

int? i = null;

nullable i = null;

(6)現實中,我們必須引用是否為null再進行操作,然而大大增加了**量,可以利用??運算子

object obj = null;

string objname = (obj ?? string.empty).tostring();

console.writeline(objname);

該運算子的本質是如果左側運算元為null,則返回右側運算元。否則返回左側運算元。

(7)設計模式—–null object

方法的本質在於封裝物件,在執行方法時返回的是null object而不是null值,避免nullreferenceexception發生。

認識全面的null

一般說來,null表示空型別,也就是表示什麼都沒有。在.net中,null表示乙個物件引用是無效的。作為引用型別變數的預設值,null是針對指標 引用 而言的,它是引用型別變數的專屬概念,表示乙個引用型別變數宣告但未初始化的狀態。在.net中,對null有如下的基本規則和應用 一直以來,null 都...

爬蟲全面認識

爬蟲 其實爬蟲就像乙個瀏覽器瀏覽網上的資訊 只是我們稱之為爬蟲是因為它不是人為而是機器自動獲取某些程式設計師設定的信 息,對於某些 它不想讓爬蟲獲取訊息,我們稱之為反爬。裡面的具體一些技術,我會一 一解釋和貼原始碼 文章只是自己學習沒有任何商業用途。1 爬蟲用到的語言 python2 html js...

Google Exoplayer 之全面認識

demo 演示類庫的使用 支援高階 hls http live streaming 功能,如正確處理 ext x discontinuity的標籤。能夠無縫融合,串聯和迴圈 資源。支援定製和擴充套件,exoplayer是考慮到這一點而設計的,並允許許多部件與定製實現替換。更新起來更方便 裝置通用性更...