CLR via C# 读书笔记(六)关于"字符串留用"

来源:互联网 发布:hf线切割编程软件破解 编辑:程序博客网 时间:2024/04/29 06:17

CLR使用“字符串留用”机制来提高性能,CLR初始化时,它会创建一个内部哈希表,在这个哈希表中,key是字符串,value是对托管堆中的string对象的引用。当定义一个string 时,就会在内部哈希表中检查是否有相匹配的。如果不存在完全相同的字符串,就创建字符串副本,将字符串副本添加到内部哈希表中,并返回这个副本的引用。如果存在完全相同的字符串,就返回对现有字符串的引用。

 

static  void main()
{
    
string s1 = "hello";
    
string s2 = "hello";
    Console.WriteLine(
object.ReferenceEquals(s1,s2));  //结果显示为true
}

 

                                                                                 ---CLR via C# 第11章 字符,字符串和文本 11.2.4 字符串留用

原创粉丝点击