如果我有一个类Person,并且该类的数据成员为FirstNameLastName

 public Class Person
 {
     public string firstName {get; set;}
     public string lastName   {get; set;}

 }


Person是引用类型,但是firstNamelastName是值类型。那么如何存储呢?是否将Person类存储在堆中,而firstNamelastName将存储在堆栈中?有人可以帮我了解这是如何工作的吗?

最佳答案

在这种情况下,所有内容都将存储在堆中,因为所有内容都包含在引用类型中。

还要注意,无论如何string都是引用类型(尽管MS会尽一切努力使它看起来像值类型)。

关于c# - 内存中的引用类型和值类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28756005/

10-17 01:54