Después de leer What's the rationale for null terminated strings? y algunas preguntas similares, he encontrado que en C# /. Las cadenas de texto son, internamente, con prefijo de longitud y terminan nulo como en BSTR Data Type.¿Por qué las cadenas C# /. Net tienen el prefijo de longitud y el nulo terminado?
¿Cuál es la razón por la cual las cadenas tienen prefijo de longitud y terminan nulo en lugar de, por ejemplo. ¿solo con prefijo de longitud?
Probablemente solo @Eric Lippert pueda responder a este. Hay buenas razones para hacer una u otra (y también compensaciones). Estoy tan sorprendido como tú de que C# hace ** ambos **. – Yuck
@Yuck - O Jon Skeet – Xaisoft