普通字符串的许多实例比const字符串使用更多的内存吗?
本文关键字:字符串 内存 const 许多 实例 | 更新日期: 2023-09-27 18:18:03
我正在开发一个应用程序,它有这样的类:
public class ClassA
{
List<ClassB> _myList = new List<ClassB>();
public ClassA()
{
_myList.Add(new ClassB("String A"));
_myList.Add(new ClassB("String B"));
_myList.Add(new ClassB("String C"));
_myList.Add(new ClassB("String D"));
_myList.Add(new ClassB("String E"));
}
}
ClassA
和ClassB
在应用程序中被使用了数千次,以跟踪应用程序中几乎每个操作的性能。
我想知道将这些字符串更改为static
或const
值是否有任何好处。
ClassA
和ClassB
创建了多少个实例?
这样做没有任何好处。程序中的任何字符串(与来自用户输入或文件的内容相反)都是内部的,并且只有一个副本。无论哪种方式,您都只是引用了内部副本。
如果你有兴趣了解更多,这里有一篇关于字符串实习的文章的链接:http://broadcast.oreilly.com/2010/08/understanding-c-stringintern-m.html