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.