Строка. Длина в C# (.NET) мгновенная переменная?

Мне удалось решить эту проблему в WSL с помощью многострочного форматирования для bash следующим образом:

curl -i -XPOST \
> 'http://localhost:8086/query?db=test' \
> --date-urlencode \
> "q=DROP SERIES FROM WHERE "unit"='hPa'"
8
задан Noldorin 4 April 2009 в 21:09
поделиться

4 ответа

Во-первых, обратите внимание, что строки в.NET очень отличаются от строк, сохраненных на неуправляемых языках (таких как C++)... В CLR длина строки (в символах и в байтах) на самом деле хранится в памяти так, чтобы CLR знал, насколько большой блок памяти (массив символов) содержащий строку. Это сделано после создания строки и не становится измененным, учитывая, что System.String тип неизменен.

В C++ это довольно отличается, поскольку длина строки обнаружена путем чтения вплоть до первого нулевого символа. Из-за пути использование памяти работает в CLR, можно по существу рассмотреть то получение Length свойство строки точно так же, как получает int переменная. Стоимость производительности здесь будет абсолютно минимальной, если это - то, что Вы рассматриваете.

Если Вы хотите читать больше о строках в.NET, попробуйте статью Jon Skeet о теме - это, кажется, имеет все подробности, которые Вы могли бы когда-либо хотеть знать о строках в.NET.

17
ответ дан 5 December 2019 в 05:27
поделиться

Длина строки не вычисляется, она известна во время создания. Так как Строка неизменна, не будет никакой потребности в вычислении ее позже.

A. СЕТЕВАЯ строка хранится как поле, содержащее количество символов и соответствующую серию unicode символов.

10
ответ дан 5 December 2019 в 05:27
поделиться

Строки.NET снабжены длиной, предварительно вычисленной и сохраненной в начале внутренней структуры, таким образом.Length свойство просто выбирает то значение, делая ее O (1) функция.

3
ответ дан 5 December 2019 в 05:27
поделиться

Похоже, что это - свойство строки, которая, вероятно, установлена в конструкторе. Так как это не функция, я сомневаюсь, что это вычисляется при вызове его. Они просто получают значение свойства Length.

1
ответ дан 5 December 2019 в 05:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: