Junior — Middle
Kā ir organizēta datu struktūra String operatīvajā atmiņā?
sobes.tech AI
Atbilde no AI
C# valodā, string ir nemainīgs (immutable) objekts, kas atrodas atmiņā kā rakstzīmju secība UTF-16 kodējumā.
String datu struktūra atmiņā ietver:
- Objektu pārvaldītā atmiņas vietā (heap), kas satur:
- Objekta galveni (metadatus par atkritumu savācēju un tipu).
- Garuma lauku (simbolu skaits).
- Rakstzīmju masīvu
char[], kur katrs rakstzīme aizņem 2 baitus (UTF-16).
Tā kā virknes ir nemainīgas, jebkura izmaiņa rada jaunu objektu, bet vecais paliek atmiņā līdz tam, kamēr to iztīra atkritumu savācējs.
Piemērs:
string s = "Piemērs";
// Atmiņā s glabā objektu ar garumu 7 un rakstzīmju masīvu 'P','i','e','m','ē','rs'
Tādējādi, virkne ir objekts ar fiksētu garumu un rakstzīmju secību, kas ir optimizēta drošai un efektīvai lietošanai .NET vidē.