В C компилятор имеет указатель на начало строки и имеет конечный символ ('\0'). Если пользователь хочет рассчитать длину строки, компилятор должен подсчитывать элементы массива строк до тех пор, пока не найдет '\0'.
В UCSD-strings компилятор имеет длину строки в первых символах.
И что компилятор думает о C#-strings? Да, с точки зрения пользователя String есть object, у которого есть поле Length, я не говорю о материалах высокого уровня. Я хочу знать глубокие алгоритмы; например, как компилятор вычисляет длину строки?
