Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.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#_.net - Fatal编程技术网

C# 值类型和引用类型

C# 值类型和引用类型,c#,.net,C#,.net,我对C#reference中的几个语句有点困惑 对象是一种引用类型 Struct是值类型 Struct是从对象类派生的 在这种情况下,为什么struct或任何其他值类型不应该也是引用类型 如果我的任何假设是错误的,请纠正我。因为它是规范的一部分。因此,编译器团队正在强制执行此操作。我相信有一篇文章谈到这是一个实现细节,但目前找不到 你可能也想看看。这可能有助于澄清一些问题。这是因为Struct是一个特例,CLR以特殊的方式处理它。相关的这个话题多年来已经讨论过很多次。我很惊讶您没有找到这些讨论中

我对C#reference中的几个语句有点困惑

  • 对象
    是一种引用类型
  • Struct
    是值类型
  • Struct
    是从对象类派生的
  • 在这种情况下,为什么struct或任何其他值类型不应该也是引用类型


    如果我的任何假设是错误的,请纠正我。

    因为它是规范的一部分。因此,编译器团队正在强制执行此操作。我相信有一篇文章谈到这是一个实现细节,但目前找不到


    你可能也想看看。这可能有助于澄清一些问题。

    这是因为Struct是一个特例,CLR以特殊的方式处理它。

    相关的这个话题多年来已经讨论过很多次。我很惊讶您没有找到这些讨论中的任何一个