C#类实例化常量字符串

本文关键字:字符串 常量 实例化 | 更新日期: 2023-09-27 18:30:06

我读到const字符串对象存储为值,并在编译时分配其值。这是否意味着即使封装类没有实例化也会分配内存,即如果const关键字使用过度(const字符串太多),可能会浪费堆空间?

编辑:一些上下文。。。

我需要很多常量值string对象,其中一些将被定义使用,另一些将根据用户的交互使用(即仅用于特定用例)。我知道将要使用的第一组字符串在static类中声明为const对象。剩下的字符串,应该也用const声明吗?或者,如果这些特定用例从未被触发,这会占用不必要的堆空间吗?

C#类实例化常量字符串

如果字符串是类的静态属性,则它们将被分配,如果不是,则它们在安装之前不会被分配

字符串内部处理是一种过程,它用于提高内存和堆的使用率,并允许更有效的字符串比较

http://en.wikipedia.org/wiki/String_interning

http://broadcast.oreilly.com/2010/08/understanding-c-stringintern-m.html