题
当对实习池中的现有字符串进行字符串连接时,是向实习池中输入新字符串还是返回对实习池中现有字符串的引用?根据这篇文章,String.Concat和StringBuilder会将新的字符串实例插入到实习池中吗?
http://community.bartdesmet.net/blogs/bart/archive/2006/09/27/4472.aspx
谁能解释一下实习生池的串联如何工作?
解决方案
如果您创建新字符串,它们不会自动放入实习池中,除非您在编译时连接常量,在这种情况下,编译器将创建一个字符串结果并将其实习作为 JIT 过程的一部分。
其他提示
您可以通过调用查看字符串是否已被保留 String.IsInterned
. 。该调用将返回一个新字符串,该字符串可以是对等于作为参数传递的字符串的内部字符串的引用,或者 null
如果字符串没有被保留。
不隶属于 StackOverflow