Junior — Middle
¿Cómo está organizada la estructura de datos String en la memoria operativa?
sobes.tech AI
Respuesta de la IA
En C#, una cadena (string) es un objeto inmutable que se representa en memoria como una secuencia de caracteres en codificación UTF-16.
La estructura de datos String en memoria incluye:
- Un objeto en el montón gestionado (heap), que contiene:
- El encabezado del objeto (metadatos para el recolector de basura y el tipo).
- El campo de longitud de la cadena (número de caracteres).
- Un array de caracteres
char[], donde cada carácter ocupa 2 bytes (UTF-16).
Dado que las cadenas son inmutables, al modificarlas se crea un nuevo objeto, y el antiguo permanece en memoria hasta que el recolector de basura lo elimine.
Ejemplo:
string s = "Ejemplo";
// En memoria, s almacena un objeto con longitud 7 y un array de caracteres 'E','j','e','m','p','l','o'
Por lo tanto, una cadena es un objeto con una longitud fija y una secuencia de caracteres, optimizado para un uso seguro y eficiente en .NET.