Sobes.tech
Junior — Middle

Hoe is de gegevensstructuur String georganiseerd in het werkgeheugen?

sobes.tech AI

Antwoord van AI

In C# is een string (string) een onveranderlijk (immutable) object dat in het geheugen wordt weergegeven als een reeks tekens in UTF-16-codering.

De gegevensstructuur String in het geheugen omvat:

  • Een object op de beheerde heap, dat bevat:
    • De objectkop (metagegevens voor de garbage collector en het type).
    • Het lengteveld van de string (aantal tekens).
    • Een array van tekens char[], waarbij elk teken 2 bytes inneemt (UTF-16).

Omdat strings onveranderlijk zijn, wordt bij wijzigingen een nieuw object gemaakt, terwijl het oude in het geheugen blijft tot het wordt opgeruimd door de garbage collector.

Voorbeeld:

string s = "Voorbeeld";
// In het geheugen slaat s een object op met een lengte van 9 en een tekenarray 'V','o','o','r','b','e','e','l','d'

Dus, een string is een object met een vaste lengte en een reeks tekens, geoptimaliseerd voor veilig en efficiënt gebruik in .NET.