Pergunta

Ao realizar a concatenação de strings de uma string existente no pool de estagiários, uma nova string é inserida no pool de estagiários ou uma referência é retornada à string existente no pool de estagiários?De acordo com este artigo, String.Concat e StringBuilder irão inserir novas instâncias de string no pool interno?

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

Alguém pode explicar como funciona a concatenação com o pool de estagiários?

Foi útil?

Solução

Se você criar novas strings, elas não serão colocadas automaticamente no pool interno, a menos que você concatene constantes em tempo de compilação; nesse caso, o compilador criará um resultado de string e o internará como parte do processo JIT.

Outras dicas

Você pode ver se uma string foi internada chamando String.IsInterned.A chamada retornará uma nova string que é uma referência a uma string interna igual à string que foi passada como argumento ou null se a string não foi internada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top