C# 如何区分空或空?空和空的标准是什么?
大家好,所以我对理解null和Empty有点困惑。 我知道null是特例,它不等于它本身。我想知道如何确定它是空的,在什么基础上你告诉它是空的,空的也一样C# 如何区分空或空?空和空的标准是什么?,c#,compiler-construction,programming-languages,null,C#,Compiler Construction,Programming Languages,Null,大家好,所以我对理解null和Empty有点困惑。 我知道null是特例,它不等于它本身。我想知道如何确定它是空的,在什么基础上你告诉它是空的,空的也一样 它是基于内存分配还是什么 如果是,那么如何为null分配内存 如果它是空的,那么克里特利亚认为它是“空的” 我只是想知道编译器是如何知道它是NULL或空的。NULL是一种特殊的引用,意思是“不引用任何内容” 空仅适用于集合(字符串是字符的集合)。这意味着存在有效集合,但不包含(0)个元素 返回集合时,通常最好返回空集合,而不是null 接收集
我只是想知道编译器是如何知道它是NULL或空的。
NULL
是一种特殊的引用,意思是“不引用任何内容”
空仅适用于集合(字符串是字符的集合)。这意味着存在有效集合,但不包含(0)个元素
返回集合时,通常最好返回空集合,而不是null
接收集合时,决定是否应将null
视为空集合。这取决于形势、协议和承诺等
我知道null是特例,它不等于它本身
不完全正确
null==null
始终为真 null
是一种特殊引用,表示“不引用任何内容”
空仅适用于集合(字符串是字符的集合)。这意味着存在有效集合,但不包含(0)个元素
返回集合时,通常最好返回空集合,而不是null
接收集合时,决定是否应将null
视为空集合。这取决于形势、协议和承诺等
我知道null是特例,它不等于它本身
不完全正确
null==null
始终为真 “null不等于自身”,这只适用于SQL,而不是C#“null不等于自身”,这只适用于SQL,而不是C#ok。还有一件事,你能告诉我编译器是如何知道它是空的还是空的吗?在这个基础上,两者有所不同。没什么特别的null
是一个特殊的(预定义的)引用。空集合由有效的非null引用引用,且计数=0ok。还有一件事,你能告诉我编译器是如何知道它是空的还是空的吗?在这个基础上,两者有所不同。没什么特别的null
是一个特殊的(预定义的)引用。空集合由有效的非null引用引用,且计数=0