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

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

谁能解释一下实习生池的串联如何工作?

有帮助吗?

解决方案

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

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top