你知道.NET的字符串在内存中是如何存储的吗?
原文中文,约2500字,阅读约需6分钟。发表于: 。毫无疑问,字符串是我们使用频率最高的类型。但是如果我问大家一个问题:“一个字符串对象在内存中如何表示的?”,我相信绝大部分人回答不上来。我们今天就来讨论这个问题。一、字符串对象的内存布局二、以二进制的方式创建一个String对象三、字符串的“可变性”一、字符串对象的内存布局从“值类型”和“引用类型”来划分,字符串自然属于引用类型的范畴,所以一个字符串对象自然采用引用类型的内存布局。我在很多文章中都...
字符串是内存中最常用的类型之一,采用引用类型的内存布局。字符串对象由ObjHeader、TypeHandle和Payload组成,Payload包含长度和编码的文本,采用UTF-16编码。可以通过构建字节数组来创建字符串对象,通过CreateString方法转换。字符串不可变,但可以通过操作字节数组改变内容。