Sobes.tech
Junior — Middle

Magyarázza el a sztringek internálásának fogalmát és miért használják a programozásban.

sobes.tech MI

Válasz az MI-től

A sztringek internálása az a folyamat, amikor minden egyedi sztringkonstansból egy példányt tárolunk a memóriában, így minden azonos sztring ugyanarra az objektumra hivatkozik.

Ez a következők miatt hasznos:

  • Memória megtakarítás, különösen nagy számú azonos sztring esetén.
  • A sztring összehasonlítási műveletek gyorsítása — a karakterenkénti összehasonlítás helyett elég a hivatkozásokat összehasonlítani.

C#-ban a sztringek internálását a String.Intern() metódus valósítja meg. Például:

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

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

Itt az a és b ugyanarra a sztringre mutat az internált sztringpólusban.