<p>When performing string concatentation of an existing string in the intern pool, is a new string entered into the intern pool or is a reference returned to the existing string in the intern pool? According to this article, String.Concat and StringBuilder will insert new string instances into the intern pool? </p>

<p><a href="http://community.bartdesmet.net/blogs/bart/archive/2006/09/27/4472.aspx" rel="nofollow noreferrer">http://community.bartdesmet.net/blogs/bart/archive/2006/09/27/4472.aspx</a></p>

<p>Can anyone explain how concatenation works with the intern pool?</p>

[{'answer_id': 38011, 'author': 'Lasse V. Karlsen', 'author_id': 267, 'author_profile': 'https://Stackoverflow.com/users/267', 'pm_score': 3, 'selected': True, 'text': '<p>If you create new strings, they will not automatically be put into the intern pool, unless you concatenate constants compile-time, in which case the compiler will create one string result and intern that as part of the JIT process.</p>\n'}, {'answer_id': 38040, 'author': 'Konrad Rudolph', 'author_id': 1968, 'author_profile': 'https://Stackoverflow.com/users/1968', 'pm_score': 0, 'selected': False, 'text': '<p>You can see whether a string has been interned by calling <code>String.IsInterned</code>. The call will return a new string that is either a reference to an interned string equal to the string that was passed as an argument, or <code>null</code> if the string was not interned.</p>\n'}]
['https://Stackoverflow.com/questions/38010', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/2993/']