Тип данных Char — Visual Basic
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 2 мин
Содержит 16-разрядные (2-байтовые) кодовые точки без знака в диапазоне от 0 до 65535. Каждая кодовая точка или код символа представляет один символ Юникода.
Char
Используйте тип данных, если необходимо хранить только один символ и не требует дополнительных String
затрат. В некоторых случаях можно использовать Char()
массив Char
элементов для хранения нескольких символов.
Значением Char
по умолчанию является символ с кодовой точкой 0.
Символы Юникода
Первые 128 кодовых точек (0–127) Юникода соответствуют буквам и символам на стандартной клавиатуре США. Первые 128 кодовых точек совпадают с теми, которые определяет набор символов ASCII. Вторая 128 кодовых точек (128–255) представляет специальные символы, такие как латинские буквы, акценты, символы валюты и дроби. Юникод использует оставшиеся кодовые точки (256–65535) для широкого спектра символов, включая текстовые символы по всему миру, диакритические и математические и технические символы.
Для определения классификации Юникода можно использовать такие методы, как IsDigit и IsPunctuationChar
переменная.
Преобразования типов
Visual Basic не преобразуется напрямую между Char
числовыми типами. Для преобразования значения в кодовую Char
Integer
точку можно использовать Asc или AscW функцию. Вы можете использовать функцию Chr или ChrW функцию для преобразования Integer
значения в кодовую Char
точку.
Если переключатель проверки типа ( оператор Option Strict) включен, необходимо добавить символ литерала в строковый литерал с одним символом Char
, чтобы определить его как тип данных. Это показано в следующем примере. Первое назначение переменной создает ошибку charVar
компилятора BC30512 , так как Option Strict
она включена. Вторая успешно компилируется, так как c
символ литерального типа идентифицирует литерал как Char
значение.
Option Strict On Module CharType Public Sub Main() Dim charVar As Char ' This statement generates compiler error BC30512 because Option Strict is On. charVar = "Z" ' The following statement succeeds because it specifies a Char literal. charVar = "Z"c End Sub End Module
Советы по программированию
Отрицательные числа.
Char
Char
хранения числовых значений.Вопросы взаимодействия. Если вы взаимодействуете с компонентами, не написанными для платформа .NET Framework, например для объектов Automation или COM, помните, что типы символов имеют другую ширину данных (8 бит) в других средах. Если передать 8-разрядный аргумент в такой компонент, объявите его как
Byte
неChar
в новом коде Visual Basic.Расширение. Тип
Char
данных расширяется доString
. Это означает, что вы можете преобразоватьChar
String
в и не столкнуться System. OverflowExceptionс .Символы типов.
Добавление символаC
литерала к односимвочному строковом литералу приводит его к типуChar
данных.Char
не имеет символа типа идентификатора.Тип Framework. В .NET Framework данный тип соответствует структуре System.Char.
См. также раздел
- System.Char
- Asc
- AscW
- Chr
- ChrW
- Типы данных
- Строковый тип данных
- Type Conversion Functions
- Сводка по преобразованию
- Практическое руководство. Вызов функции Windows, принимающей значение беззнакового типа
- Эффективное использование типов данных
Символьные типы данных — Visual Basic
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 2 мин
Visual Basic предоставляет типы символьных данных для работы с печатаемыми и отображаемыми символами.
Хотя они оба имеют дело с символами Юникода, содержит один символ,Char
в то время как String
содержит неопределенное количество символов.Таблицу, отображающую параллельное сравнение типов данных Visual Basic, см. в разделе Типы данных.
Тип символа
Тип Char
данных представляет собой один двухбайтовый (16-разрядный) символ Юникода. Если переменная всегда хранит только один символ, объявите ее как Char
. Например:
' Initialize the prefix variable to the character 'a'. Dim prefix As Char = "a"
Каждое возможное значение в переменной Char
или String
представляет собой кодовую точку или код символов в кодировке Юникод. Символы Юникода включают базовую набор символов ASCII, различные другие буквы алфавита, акценты, символы валют, дроби, диакритические символы, а также математические и технические символы.
Примечание
Кодировка Юникода резервирует кодовые точки от D800 до DFFF (от 55296 до 55551 десятичных) для Char
не может содержать суррогатную пару, а String
для хранения такой пары используется две позиции.
Дополнительные сведения см. в разделе Тип данных char.
Тип строки
Тип String
данных представляет собой последовательность двухбайтовых (16-разрядных) символов Юникода или более из нуля. Если переменная может содержать неограниченное количество символов, объявите ее как String
. Например:
' Initialize the name variable to "Monday". Dim name As String = "Monday"
Дополнительные сведения см. в разделе Строковый тип данных.
См. также раздел
- Простые типы данных
- Составные типы данных
- Generic Types in Visual Basic
- Типы значений и ссылочные типы
- Преобразование типов в Visual Basic
- Устранение неполадок, связанных с типами данных
- Символы типов
Ингр 11.
0 | Символьные типы данныхСимвольные типы данных
Символьные типы данных представляют собой строки символов ASCII. Буквенные символы верхнего и нижнего регистра принимаются буквально. Существует два символьных типа данных фиксированной длины, char и c, и два символьных типа данных переменной длины: varchar и text.
Максимальная длина строки в таблице составляет 2008 байт. Таким образом, максимальная длина столбца символов составляет 2008 минус любые дополнительные требования к пространству. Дополнительные требования к пространству для столбцов символов следующие:
• столбцы varchar требуют два дополнительных байта для хранения спецификатора длины
• столбцы с нулевым значением char и varchar требуют один дополнительный байт для хранения индикатора null
Тип данных Char
Строки Char могут содержать любые печатные и непечатаемые и нулевой символ («\0»). В несжатых таблицах строки символов хранятся с добавлением пробелов до объявленной длины. (Если столбец допускает значение NULL, для столбцов char требуется дополнительный байт памяти.) Например, если вы введете «ABC» в столбец char(5), пять байтов будут сохранены следующим образом:
«ABC »
В сжатых таблицах завершающие пробелы удаляются из столбцов char. В общем, если ваше приложение должно сохранять конечные пробелы, используйте varchar.
Ведущие и встроенные пробелы важны при сравнении строк char (в отличие от строк c). Например, различаются следующие строки символов:
«A B C»
«ABC»
При извлечении строк символов с использованием подстановочного знака вопросительного знака (?) вы должны включать все пробелы в конце, которые вы хотите сопоставить. Например, чтобы получить следующую строку символов:
«ABC »
спецификация подстановочных знаков также должна содержать пробелы в конце:
«??? »
Длина не имеет значения при сравнении строк символов. Например, следующие строки char равны, хотя вторая строка содержит пробелы в конце:
«ABC» = «ABC »
Символ является синонимом char.
Тип данных C
Тип данных c принимает только печатные символы. Непечатаемые символы, такие как управляющие символы, преобразуются в пробелы.
СУБД игнорирует пробелы при сравнении строк c. Например, строка c:
«дом находится за углом»
обрабатывается так же, как:
«дом находится за углом»
Тип c поддерживается для обратной совместимости, но char является рекомендуемым символьным данными фиксированной длины. тип.
Тип данных Varchar
Строки Varchar — это строки переменной длины, хранящиеся в виде 2-байтового (I2) спецификатора длины, за которым следуют данные. В несжатых таблицах столбцы varchar занимают заявленную длину. (Если столбец допускает значение NULL, для столбцов varchar требуется дополнительный байт памяти.) Например, если вы введете «ABC» в столбец varchar(5), сохраненный результат будет следующим:
«03ABCxx»
, где «03» — 2-байтовый спецификатор длины, «ABC» — три байта данных, а «xx» — два байта, содержащие неизвестные (и не относящиеся к делу) данные.
В сжатых таблицах столбцы varchar удаляются из конечных данных. Например, если вы введете «ABC» в столбец varchar(5) в сжатой таблице, сохраненный результат будет следующим:
«03ABC»
Тип данных varchar может содержать любой символ, включая непечатаемые символы и символы ASCII. нулевой символ («\0»).
Пробелы имеют значение в типе данных varchar. Например, следующие две строки varchar не считаются равными:
«магазин закрыт»
и
«магазин закрыт»
Если сравниваемые строки неравны по длине, более короткая строка дополняется пробелами в конце до она равна длине более длинной строки.
Например, рассмотрим следующие две строки:
«abcd\001»
где «\001» представляет один символ ASCII (Control-A) и
«abcd»
Если они сравниваются как типы данных varchar, то
«abcd» > «abcd\001»
, потому что пробел, добавленный к «abcd», чтобы сделать строки одинаковой длины, имеет более высокое значение чем Control-A («\040» больше, чем «\001»).
Текстовый тип данных
В текстовых строках разрешены все символы ASCII, кроме нулевого символа («\0»); нулевые символы преобразуются в пробелы.
Пробелы не игнорируются при сравнении текстовых строк. В отличие от varchar, если строки неравной длины, пробелы не добавляются к более короткой строке. Например, предположим, что вы сравниваете текстовые строки
«abcd»
и
«abcd »
Строка «abcd » больше, чем строка «abcd», поскольку она длиннее.
Текст поддерживается для обратной совместимости, но varchar является предпочтительным типом символов переменной длины.
Тип данных Char — Visual Basic
Редактировать
Твиттер LinkedIn Фейсбук Электронная почта
- Статья
- 2 минуты на чтение
Содержит 16-битные (2-байтовые) кодовые точки без знака в диапазоне значений от 0 до 65535. Каждая кодовая точка
Используйте тип данных Char
, когда вам нужно хранить только один символ и не нужны накладные расходы String
. В некоторых случаях вы можете использовать Char()
, массив из элементов Char
, для хранения нескольких символов.
Значением по умолчанию для Char
является символ с кодовой точкой 0.
Символы Unicode
Первые 128 кодовых точек (0–127) Unicode соответствуют буквам и символам на стандартной клавиатуре США. Эти первые 128 кодовых точек совпадают с набором символов ASCII. Вторые 128 кодовых точек (128–255) представляют собой специальные символы, такие как буквы латинского алфавита, ударения, символы валюты и дроби. Unicode использует оставшиеся кодовые точки (256-65535) для самых разных символов, включая общепринятые текстовые символы, диакритические знаки, математические и технические символы.
Вы можете использовать такие методы, как IsDigit и IsPunctuation, для переменной Char
, чтобы определить ее классификацию Unicode.
Преобразование типов
Visual Basic не выполняет прямое преобразование между Char
и числовыми типами. Вы можете использовать функцию Asc или AscW для преобразования значения Char
в Integer
, которое представляет его кодовую точку. Вы можете использовать функцию Chr или ChrW для преобразования значения Integer
в Char 9.0131 с этой кодовой точкой.
Если переключатель проверки типа (оператор Option Strict) включен, вы должны добавить символ типа литерала к односимвольному строковому литералу, чтобы идентифицировать его как тип данных Char
. Следующий пример иллюстрирует это. Первое присвоение переменной charVar
вызывает ошибку компилятора BC30512, поскольку включен параметр Option Strict
. Второй компилируется успешно, потому что символ типа литерала c
идентифицирует литерал как 9. 0130 Символ значение.
Опция Строгая Вкл. Модуль CharType Публичная подсистема () Dim charVar As Char ' Этот оператор генерирует ошибку компилятора BC30512, так как параметр Option Strict включен. charVar = "Z" ' Следующее выражение выполнено успешно, потому что оно указывает литерал Char. charVar = "Z"c Конец сабвуфера Конечный модуль
Советы по программированию
Отрицательные числа.
Char
является беззнаковым типом и не может представлять отрицательное значение. Ни в коем случае нельзя использоватьChar
для хранения числовых значений.Вопросы взаимодействия. Если вы взаимодействуете с компонентами, не написанными для .NET Framework, например с объектами автоматизации или COM, помните, что типы символов имеют другую ширину данных (8 бит) в других средах. Если вы передаете 8-битный аргумент такому компоненту, объявите его как
Byte
вместоChar
в новом коде Visual Basic.