Sobes.tech
Junior — Middle

Kako je organizovana struktura podataka String u operativnoj memoriji?

sobes.tech АИ

Одговор од АИ

У C#-у, низ (string) је непокретан (immutable) објекат који је у меморији представљен као низ карактера у кодирању UTF-16.

Структура података String у меморији укључује:

  • Објекат у управљаном хипу (heap), који садржи:
    • Заглавље објекта (метаподаци за сакупљача смећа и тип).
    • Поље дужине низа (број карактера).
    • Масаив карактера char[], где сваки карактер заузима 2 бајта (UTF-16).

Пошто су низови непокретни, свака измена ствара нови објекат, а стари остаје у меморији до уклањања од стране сакупљача смећа.

Пример:

string s = "Пример";
// У меморији, s чува објекат дужине 6 и масив карактера 'П','р','и','м','е','р'

Стога, низ је објекат са фиксном дужином и низом карактера, оптимизован за сигурну и ефикасну употребу у .NET-у.