Junior — Middle
Как е организирана структурата на данните String в оперативната памет?
sobes.tech AI
Отговор от AI
В C# низът (string) е неизменяем (immutable) обект, който в паметта е представен като последователност от символи в кодировка UTF-16.
Структурата на данните String в паметта включва:
- Обект в управляемата купчина (heap), който съдържа:
- Заглавие на обекта (метаданни за събирача на отпадъци и типа).
- Поле за дължината на низа (брой символи).
- Масив от символи
char[], където всеки символ заема 2 байта (UTF-16).
Тъй като низовете са неизменяеми, при промяна се създава нов обект, а старият остава в паметта до събиране на отпадъци.
Пример:
string s = "Пример";
// В паметта, s съхранява обект с дължина 6 и масив от символи 'П','р','и','м','е','р'
Така, низът е обект с фиксирана дължина и последователност от символи, оптимизиран за безопасна и ефективна употреба в .NET.