C# 具有类字段的结构
我知道这些结构不会保存在堆中。该类保存在堆中。 这很清楚,但是如果结构包含某个类的字段,它将保存在哪里? 例如:C# 具有类字段的结构,c#,.net,struct,C#,.net,Struct,我知道这些结构不会保存在堆中。该类保存在堆中。 这很清楚,但是如果结构包含某个类的字段,它将保存在哪里? 例如: class TestClass { public string Name; } struct MyStruct { public TestClass myClass; } 值类型和引用类型的存储是实现细节,它们不保证在CLR实现或未来版本的实现中保持固定 引用MS规范: 在桌面CLR上的C#的Microsoft实现中,值类型 当值是局部变量或 临时变量,它不是la
class TestClass
{
public string Name;
}
struct MyStruct
{
public TestClass myClass;
}
值类型和引用类型的存储是实现细节,它们不保证在CLR实现或未来版本的实现中保持固定 引用MS规范: 在桌面CLR上的C#的Microsoft实现中,值类型 当值是局部变量或 临时变量,它不是lambda或 匿名方法,并且方法体不是迭代器块,并且 抖动选择不注册该值 在你的例子中,答案是。。。视情况而定 我建议大家阅读一下Eric Lippert在上的博客文章,了解更多信息