大家好所有的SO用戶我對理解null和Empty都沒有什麼困惑。 我知道null是特殊情況,它不等於它自己。我想知道如何確定它爲空,在什麼基礎上你告訴它是空的,並且同樣爲空也如何區分空或空?按照什麼標準處理空值和空值?
- 它是基於內存分配還是什麼?
- 如果接下來如何將內存分配給null。
- 如果它是空的,那麼什麼crieteria適合它是「空」。
只是我想知道編譯器是如何知道它是NULL還是Empty。
大家好所有的SO用戶我對理解null和Empty都沒有什麼困惑。 我知道null是特殊情況,它不等於它自己。我想知道如何確定它爲空,在什麼基礎上你告訴它是空的,並且同樣爲空也如何區分空或空?按照什麼標準處理空值和空值?
只是我想知道編譯器是如何知道它是NULL還是Empty。
null
是一種特殊的引用,意思是「不引用任何」
空只適用於集合(和一個字符串是字符的集合)。這意味着有一個有效的集合,但它不包含(0)元素。
當返回一個集合時,最好返回一個空集合而不是null。
收到集合時,請確定是否應將null
視爲空集合。這要看具體情況,協議和作出的承諾等
我知道空是特例,這不等於自己
並非完全如此。 null == null
總是如此。
好的。還有一件事你能告訴我編譯器是如何知道它是空還是空?它在哪個基礎上區分了兩者。 –
沒什麼特別的......'null'是一個特殊的(預先定義的)引用。一個空集合被一個有效的非空引用所引用,並具有Count == 0 –
「null不等於自己」,只適用於SQL,而不是C# –