我知道字符串的长度是可变的,因此它们需要内存中的可变空间来存储。当我们在 a 中定义一个字符串项时struct
, the struct
的大小的长度将是可变的。
较旧的语言通过使用固定长度的字符串来管理此问题。但是,C# 中没有办法定义固定长度的字符串,C# 中管理普通字符串struct
相当不错。
当我们定义这样的数组时,这变得更加奇怪struct
s,或者只是一个字符串数组。由于一根字符串的长度发生任何变化(减少/增加),所有前向struct
s 必须移动。
C# 如何处理结构中的可变长度字符串?
字符串本身不存储在结构中。相反,对字符串的引用存储在结构中,因此结构大小永远不会改变。
string
不是值类型; .NET 字符串是interned,这意味着每个唯一的字符串都存储在内存中的查找表中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)