得到乙個空值

2021-08-22 06:53:25 字數 1515 閱讀 3263

也許你感覺到製造乙個空值(null)是乙個不值一提的話題

看看以下**

1public

class

check

//支票

2check的例項在沒有給signing和money賦值前,signing和money是什麼值呢?

輸出勝於雄辯

1checkcheck

=new

check();

2system.console.writeline(check.signing);

//乙個空行

3system.console.writeline(check.money);//0

我們得到money有了預設的double值:0

但signing是不是空呢?

1checkcheck

=new

check();

2system.console.writeline(check.signing

==string

.empty);

//false

3system.console.writeline(check.signing

==null

);//

true

結果證明了signing是null,而不是空的字串。看來不給signing賦值和直接賦值為null的結果是一樣的。

但是,money為什麼是0,而不是null呢?是不是只要給money賦值為null,就可以得到我們要的空的double呢?

1checkcheck

=new

check();

2check.money

=null;//

無法將null轉換成「double」,因為它是一種值型別

不過這樣的值型別特徵在有些時候非常的不合適,假設我們要判斷使用者是不是給signing賦值過,我們可以簡單的編寫check.signing == string.empty || check.signing == null,但對於money就不能簡單地以system.console.writeline(check.money==0)來判斷,因為使用者可以顯式的賦值為0。那怎麼辦呢?

1public

class

check

//支票

2注意第4行的double?,該型別允許為money賦值為null

以下**執行通過

1checkcheck

=new

check();

2check.money

=null;//

3system.console.writeline(check.money

==null

);//

true

如果不給money賦值,他還是null嗎?

恩,是的,把這個class改為struct來證明

1public

struct

check

//支票

2沒有建構函式的struct會為每個欄位賦預設值,輸出上面struct的money,你得到的結果是null

乙個空值 SQL今日一題(9) 空值檢查

獲取所有非manager的員工emp no 這裡用到employees表和dept manager表,兩個表以emp no為公共字段,按照題目要求插入了如下資料 select e.emp no from employees ewhere e.emp no not in select emp no f...

乙個空值 如何處理Pandas中的空值

如何處理pandas中的空值?今天番茄加速就來跟大家 一下。只要和資料打交道,就不可能不面對乙個令人頭疼的問題 資料集中存在空值。空值處理,是資料預處理之資料清洗的重要內容之一。python 資料分析包 pandas 提供了一些便利的函式,可以幫助我們快速按照設想處理 解決空值。空值處理的第一招 快...

oracle中查詢結果集為空,則得到乙個預設值

有同事問我上述問題,我把我的實現思路寫出來。子查詢把查詢的結果和預設的結果全部顯示。父查詢通過偽列rownum來篩選,如果查詢有結果,就有幾條就顯示幾條,而不去顯示子查詢中的預設值 如果查詢沒有結果,那就把預設值顯示出來 舉例 select from select table name from u...