Junior — Middle
Como é organizada a estrutura de dados String na memória operacional?
sobes.tech IA
Resposta da IA
No C#, uma string (string) é um objeto imutável que é representado na memória como uma sequência de caracteres codificada em UTF-16.
A estrutura de dados String na memória inclui:
- Um objeto no heap gerenciado, que contém:
- O cabeçalho do objeto (metadados para o coletor de lixo e o tipo).
- O campo de comprimento da string (número de caracteres).
- Um array de caracteres
char[], onde cada caractere ocupa 2 bytes (UTF-16).
Como as strings são imutáveis, qualquer alteração resulta na criação de um novo objeto, enquanto o antigo permanece na memória até ser coletado pelo coletor de lixo.
Exemplo:
string s = "Exemplo";
// Na memória, s armazena um objeto com comprimento 7 e um array de caracteres 'E','x','e','m','p','l','e'
Portanto, uma string é um objeto com comprimento fixo e uma sequência de caracteres, otimizado para uso seguro e eficiente no .NET.