Тип данных Char — Visual Basic
Twitter LinkedIn Facebook Адрес электронной почты- Статья
Содержит 16-разрядные (2-байтовые) кодовые точки без знака в диапазоне от 0 до 65535.
Используйте тип данных, Char
если требуется содержать только один символ и не требуется дополнительная нагрузка String
. В некоторых случаях можно использовать Char()
массив Char
элементов для хранения нескольких символов.
Значение Char
по умолчанию — символ с кодовой точкой 0.
Символы Юникода
Первые 128 кодовых точек (0–127) Юникода соответствуют буквам и символам на стандартной клавиатуре США. Эти первые 128 кодовых точек совпадают с теми, которые определяет набор символов ASCII. Вторые 128 кодовых точек (128–255) представляют специальные символы, такие как латинские буквы, диакритические знаки, символы валют и дроби. Юникод использует оставшиеся кодовые точки (256–65535) для широкого спектра символов, включая мировые текстовые символы, диакритические знаки, математические и технические символы.
Для определения ее классификации в Юникоде можно использовать такие методы, как IsDigit и IsPunctuation для переменной Char
.
Преобразования типов
Visual Basic не выполняет непосредственное преобразование между Char
числовыми типами и . Функцию Asc или AscW можно использовать для преобразования значения в Char
объект , представляющий его кодовую Integer
точку. Функцию 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
является неподписанным типом и не может представлять отрицательное значение. В любом случае не следует использовать для
хранения числовых значений.Вопросы взаимодействия. Если вы взаимодействуете с компонентами, не написанными для платформа .NET Framework, например с объектами автоматизации или 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 Адрес электронной почты- Статья
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 Фейсбук Электронная почта- Статья
Содержит 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.0129 с этой кодовой точкой.
Если переключатель проверки типа (оператор Option Strict) включен, вы должны добавить символ типа литерала к односимвольному строковому литералу, чтобы идентифицировать его как тип данных Char
. Следующий пример иллюстрирует это. Первое присвоение переменной charVar
генерирует ошибку компилятора BC30512, поскольку включен параметр Option Strict
. Второй компилируется успешно, потому что символ типа литерала c
идентифицирует литерал как 9. 0128 Значение символа .
Опция Строгая Вкл. Модуль CharType Публичная подсистема () Dim charVar As Char ' Этот оператор генерирует ошибку компилятора BC30512, так как параметр Option Strict включен. charVar = "Z" ' Следующее выражение выполнено успешно, потому что оно указывает литерал Char. charVar = "Z"c Конец сабвуфера Конечный модуль
Советы по программированию
Отрицательные числа.
Char
является беззнаковым типом и не может представлять отрицательное значение. Ни в коем случае нельзя использоватьChar
для хранения числовых значений.Вопросы взаимодействия. Если вы взаимодействуете с компонентами, не написанными для .NET Framework, например с объектами автоматизации или COM, помните, что типы символов имеют другую ширину данных (8 бит) в других средах. Если вы передаете 8-битный аргумент такому компоненту, объявите его как
вместоChar
в новом коде Visual Basic.