繁体   English   中英

Class 引用结构 - 分配

[英]Class referencing a struct - allocation

class Foo
{
    public Bar StructProperty { get; set; }
    public int IntProperty { get; set; }
}

struct Bar
{
}

假设我有一个具有 struct 属性的 class 。 我做了一个var foo = new Foo() foo.StructProperty中的 foo.StructProperty 是如何布局的? 是吗:

  1. 在堆上装箱或
  2. 包含在属于foo object 本身的堆地址空间中(就像foo.IntProperty的布局一样)?
  1. 包含在属于 foo object 本身的堆地址空间中(就像 foo.IntProperty 的布局一样)?

这是对的。

“结构在堆栈上分配,类在堆上分配”的口头禅在这里具有误导性 - 作为其他对象(其他类或结构)的一部分的结构存储在用于这些对象的 memory 中。 在这方面, int与任何其他结构类型没有什么不同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM