【发布时间】:2014-04-01 08:27:25
【问题描述】:
让我感到困惑的是:在 .NET 中,string 类型是一个类,但它的行为看起来像是一个值类型!
那么string 是值类型(栈内存)还是引用类型(堆内存)?
【问题讨论】:
-
在堆栈上有指针的堆或作为另一个堆项集合的一部分,它是一个引用类型。
-
@AdamHouldsworth 所说的加上字符串池。
-
避免混淆 引用类型进入堆,值类型进入堆栈(not always)。
-
你的意思是但它的行为看起来像价值?你能解释一下其中的一些吗?
-
我的意思是 但如果我们有 2 个字符串变量,它的行为看起来像值 ?字符串 s1="koko",s2; s2=s1;这里 s2 将具有 s1 的值而不是内存地址
标签: .net string heap-memory primitive-types stack-memory