如何区分Null或Empty? Null和Empty处理的标准是什么?

时间:2011-10-11 07:19:52

标签: c# compiler-construction programming-languages null

大家都是SO用户,我对理解null和Empty感到困惑。 我知道null是特例,它不等于它自己。我想知道如何确定它是null,在什么基础上你告诉它是null,同样为空也

  1. 是基于内存分配还是什么?
  2. 如果那么如何为null分配内存。
  3. 如果它是空的,那么什么crieteria适合它作为“EMPTY”。
  4. 我想知道编译器如何知道它是NULL还是空。

1 个答案:

答案 0 :(得分:7)

null是一个特殊的引用,意思是“不引用任何内容”

Empty仅适用于集合(字符串是char的集合)。这意味着有一个有效的集合,但它不包含(0)元素。

返回集合时,通常最好返回空集合而不是null。

收到集合时,请确定是否应将null视为空集合。这取决于情况,协议和承诺等。

  

我知道null是特殊情况,它不等于它自己

不完全正确。 null == null总是如此。