Sobes.tech
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.