1
我一直使用合併運算符(又名「真正令人驚訝的運算符,即」??「)來擺脫虛假的空數據(通常從數據庫中提取爲允許空值,但我知道永遠不會處於該值)。看起來像這樣。爲什麼在C#中比較可空和不可空int?
int serious = GetSomeReallyNonNullValue();
int? phony = GetNullableButActuallyNonNullValue();
int result = serious + (phony ?? 0);
不過,我只注意到下面的實際編譯。不能看到它是如何有意義的。我不能直觀地看到,如果空值將計算表達式爲true或false。 ..
int? test = null;
if (test < 1337) ;
很好的回答。 +1。至於你的問題,爲什麼DB允許* null * - 好吧,因爲人們在做準備時很sl,,懶得做維護和愚蠢的做代碼評論。有一點要清楚 - 有時候,我就是那些人。不過這次不是。 :) –