Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何区分空或空?空和空的标准是什么?_C#_Compiler Construction_Programming Languages_Null - Fatal编程技术网

C# 如何区分空或空?空和空的标准是什么?

C# 如何区分空或空?空和空的标准是什么?,c#,compiler-construction,programming-languages,null,C#,Compiler Construction,Programming Languages,Null,大家好,所以我对理解null和Empty有点困惑。 我知道null是特例,它不等于它本身。我想知道如何确定它是空的,在什么基础上你告诉它是空的,空的也一样 它是基于内存分配还是什么 如果是,那么如何为null分配内存 如果它是空的,那么克里特利亚认为它是“空的” 我只是想知道编译器是如何知道它是NULL或空的。NULL是一种特殊的引用,意思是“不引用任何内容” 空仅适用于集合(字符串是字符的集合)。这意味着存在有效集合,但不包含(0)个元素 返回集合时,通常最好返回空集合,而不是null 接收集

大家好,所以我对理解null和Empty有点困惑。 我知道null是特例,它不等于它本身。我想知道如何确定它是空的,在什么基础上你告诉它是空的,空的也一样

  • 它是基于内存分配还是什么
  • 如果是,那么如何为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