Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Содержит целые числа без знака от 32-разрядного (4-байта) от 0 до 4 294 967 295.
Замечания
Тип UInteger данных предоставляет наибольшее значение без знака в наиболее эффективной ширине данных.
Значение по умолчанию для типа UInteger — 0.
Литеральные назначения
Можно объявить и инициализировать UInteger переменную, назначив ему десятичный литерал, шестнадцатеричный литерал, восьмеричный литерал или (начиная с Visual Basic 2017) двоичный литерал. Если целочисленный литерал выходит за пределы диапазона UInteger (то есть, если он меньше UInt32.MinValue или больше UInt32.MaxValue), возникает ошибка компиляции.
В следующем примере целые числа, равные 3 000 000 000 и представленные в виде десятичного, шестнадцатеричного и двоичного литерала, назначаются значениям UInteger.
Dim uintValue1 As UInteger = 3000000000ui
Console.WriteLine(uintValue1)
Dim uintValue2 As UInteger = &HB2D05E00ui
Console.WriteLine(uintValue2)
Dim uintValue3 As UInteger = &B1011_0010_1101_0000_0101_1110_0000_0000ui
Console.WriteLine(uintValue3)
' The example displays the following output:
' 3000000000
' 3000000000
' 3000000000
Примечание.
Вы используете префикс или обозначает шестнадцатеричный литерал, префикс &h или &H&b для обозначения двоичного литерала, а также префикса &B&o или &O для обозначения восьмеричного литерала. У десятичных литералов префиксов нет.
Начиная с Visual Basic 2017, вы также можете использовать символ подчеркивания, _как разделитель цифр для повышения удобочитаемости, как показано в следующем примере.
Dim uintValue1 As UInteger = 3_000_000_000ui
Console.WriteLine(uintValue1)
Dim uintValue2 As UInteger = &HB2D0_5E00ui
Console.WriteLine(uintValue2)
Dim uintValue3 As UInteger = &B1011_0010_1101_0000_0101_1110_0000_0000ui
Console.WriteLine(uintValue3)
' The example displays the following output:
' 3000000000
' 3000000000
' 3000000000
Начиная с Visual Basic 15.5, можно также использовать символ подчеркивания (_) в качестве ведущего разделителя между префиксом и шестнадцатеричными, двоичными или восьмизначными цифрами. Например:
Dim number As UInteger = &H_0F8C_0326
Чтобы использовать символ подчеркивания в качестве ведущего разделителя, необходимо добавить следующий элемент в файл проекта Visual Basic (*.vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Дополнительные сведения см. в разделе "Выбор версии языка Visual Basic".
Числовые литералы также могут включать UI символ или uiсимвол типа для обозначения UInteger типа данных, как показано в следующем примере.
Dim number = &H_0FAC_14D7ui
Советы по программированию
UInteger
Integer Типы данных обеспечивают оптимальную производительность на 32-разрядном процессоре, так как меньшие типы целых чисел (UShort, , ShortByteиSByte), даже если они используют меньше битов, занимает больше времени для загрузки, хранения и получения.
Отрицательные числа. Так как
UIntegerэто неподписанный тип, он не может представлять отрицательное число. Если вы используете унарный оператор минус (-) для выражения, которое вычисляет типUInteger, Visual Basic преобразует выражениеLongв первое.Соответствие CLS.
UIntegerТип данных не является частью спецификации CLS, поэтому код, совместимый с CLS, не может использовать компонент, использующий его.Вопросы взаимодействия. Если вы взаимодействуете с компонентами, не написанными для платформа .NET Framework, например автоматизация или COM-объекты, помните, что такие типы, как
uintмогут иметь другую ширину данных (16 бит) в других средах. Если вы передаете 16-разрядный аргумент в такой компонент, объявите его какUShortнеUIntegerв управляемом коде Visual Basic.Расширение. Тип
UIntegerданных расширяется доLong,ULongиDecimalSingleDouble. Это означает, что вы можете преобразоватьUIntegerв любой из этих типов без возникновения System.OverflowException ошибки.Тип символов. Добавление символов
UIлитерального типа к литералу заставляет его к типуUIntegerданных.UIntegerне имеет символа типа идентификатора.Тип платформы. В .NET Framework данный тип соответствует структуре System.UInt32.