4

在对实习池中的现有字符串执行字符串连接时,是新字符串进入实习池还是返回对实习池中现有字符串的引用?根据这篇文章,String.Concat 和 StringBuilder 会在实习池中插入新的字符串实例吗?

http://community.bartdesmet.net/blogs/bart/archive/2006/09/27/4472.aspx

谁能解释连接如何与实习生池一起工作?

4

2 回答 2

4

如果您创建新字符串,它们将不会自动放入实习池,除非您在编译时连接常量,在这种情况下,编译器将创建一个字符串结果并将其作为 JIT 过程的一部分进行实习。

于 2008-09-01T14:44:11.210 回答
0

您可以通过调用来查看字符串是否已被保留String.IsInterned。该调用将返回一个新字符串,该字符串是对与作为参数传递的字符串相等的实习字符串的引用,或者null如果该字符串未被实习。

于 2008-09-01T15:11:24.593 回答