Sobes.tech
Junior — Middle

Explique o conceito de internamento de strings e por que é usado na programação.

sobes.tech IA

Resposta da IA

A internação de strings é o processo de armazenar uma única cópia de cada constante de string única na memória, para que todas as strings iguais referenciem o mesmo objeto.

Isto é usado para:

  • Economia de memória, especialmente quando há muitas strings iguais.
  • Aceleração das operações de comparação de strings — em vez de comparar caractere por caractere, basta comparar referências.

Em C#, a internção de strings é implementada através do método String.Intern(). Por exemplo:

string a = "hello";
string b = String.Intern(new string(new char[] { 'h', 'e', 'l', 'l', 'o' }));

bool sameReference = Object.ReferenceEquals(a, b); // true

Aqui, a e b apontam para a mesma string no pool de strings internadas.