public class MyClass
{
public int Age;
public int ID;
}
public void MyMethod()
{
MyClass m = new MyClass();
int newID;
}
象中的值类型是否存在于堆栈或堆中? 装箱/拆箱对象中的值类型是否值得关注? 是否有关于此主题的详细但可理解的资源?
结构类型的变量或其他存储位置是该类型的公共和私有实例字段的集合。给定
struct Foo {public int x,y; int z;}
声明Foo bar;将导致bar.x,bar.y和bar.z存储在要存储的任何bar位置。bar从存储布局的角度来看,将这样的声明添加到类将等同于添加三个int字段。事实上,如果一个从来没有做过任何bar除了访问它的领域,领域bar将表现一样将三个字段bar_x,bar_y以及bar_cantaccessthis_z[访问的最后一个需要做的事情bar除了访问它的领域,但它会占用空间是否是否曾经真正用于任何东西]。
将结构类型的存储位置识别为字段的聚集是了解结构的第一步。试图将它们视为持有某种对象似乎“比较简单”,但与它们的实际工作方式不匹配。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。