Строковый тип данных (String) (Visual Basic)
Обновлен: Ноябрь 2007
Содержит последовательности беззнаковых 16-разрядных (2-байтных) кодовых точек в диапазоне от 0 до 65535. Каждая кодовая точка (кодовый знак) представляет один знак Юникода. Строка может содержать от нуля до приблизительно двух миллиардов (2^31) знаков Юникода.
Заметки
Используйте тип данных String для хранения нескольких символов без предоставления в виде массива Char() элементов Char.
Значением String по умолчанию является Nothing (пустая ссылка). Обратите внимание, что это не то же самое, что пустая строка (значение "").
Знаки Юникода
Первые 128 кодовых точек (от 0 до 127) Юникода соответствуют буквам и символам стандартной американской клавиатуры. Эти первые 128 кодовых точек те же, что и в наборе знаков ASCII. Следующие 128 кодовых точек (от 128 до 255) представляют специальные символы, например буквы, основанные на латинском алфавите, знаки ударения, символы валют и дроби. Юникод использует остальные кодовые точки (от 256 до 65535) для расширенного набора символов. Сюда входят символы алфавитов мира, диакритические знаки, математические и технические символы.
Можно применять такие методы, как IsDigit и IsPunctuation к отдельным знакам в переменной типа String для определения ее классификации Юникода.
Требования формата
Необходимо заключить литерал String в кавычки (" "). Если необходимо, чтобы такая строка содержала кавычки, используются два последовательных знака кавычек (""). Это показано в приведенном ниже примере.
Dim j As String = "Joe said ""Hello"" to me."
Dim h As String = "Hello"
' The following messages all display the same thing:
' "Joe said "Hello" to me."
MsgBox(j)
MsgBox("Joe said " & """" & h & """" & " to me.")
MsgBox("Joe said """ & h & """ to me.")
Следует отметить, что парные кавычки, которые представляют кавычки в строке, могут выставляться как в середине строки String, так и в ее начале или конце.
Работа со строками
После присвоения строки переменной типа String эта строка остается неизменной, то есть нельзя изменить её длину или содержимое. При изменении строки каким-либо образом Visual Basic создает новую строку и закрывает предыдущую. После этого переменная String указывает на новую строку.
Содержимым переменной типа String можно управлять с помощью различных строковых функций. В следующем примере показана Функция Left (Visual Basic).
Dim S As String = "Database"
' The following statement sets S to a new string containing "Data".
S = Microsoft.VisualBasic.Left(S, 4)
Строка, созданная другим компонентом, может содержать начальные или конечные пробелы. При получении такой строки можно использовать методы Функции Trim, LTrim и RTrim для удаления этих пробелов.
Дополнительные сведения о работе со строками см. в разделе Cтроки в Visual Basic.
Советы по программированию
Отрицательные числа. Обратите внимание, что коды символов, содержащихся в переменной типа String, являются беззнаковыми и не могут представлять отрицательные значения. В любом случае не следует использовать переменные типа String для хранения числовых значений.
Вопросы взаимодействия. При взаимодействии с компонентами, написанными не для .NET Framework, например с компонентами автоматизации и COM-объектами, следует помнить, что в других средах символьные типы имеют другой размер (8 бит). Если в такой компонент передается строковый аргумент 8-разрядных символов, объявите его в качестве Byte(), массива элементов типа Byte, вместо String в коде Visual Basic.
Символы типов. При добавлении символа типа идентификатора $ в конец идентификатора происходит приведение этого идентификатора к типу String. String не имеет символа типа литерала. Однако компилятор обрабатывает литералы, заключенные в кавычки (" "), как строковые (String).
Тип Framework. В .NET Framework соответствующим типом является класс System.String.
См. также
Задачи
Практическое руководство. Оптимизация хранения положительных целых чисел с беззнаковыми типами
Практическое руководство. Вызов функции Windows, принимающей значение беззнакового типа
Основные понятия
Эффективное использование типов данных
Ссылки
Сводка типов данных (Visual Basic)