Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Содержит 64-разрядные (8-байтовые) целые числа, начиная от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 (9,2...E+18).
Замечания
Long Используйте тип данных, чтобы содержать целые числа, которые слишком большие, чтобы соответствовать типу Integer данных.
Значение по умолчанию для типа Long — 0.
Литеральные назначения
Можно объявить и инициализировать Long переменную, назначив ему десятичный литерал, шестнадцатеричный литерал, восьмеричный литерал или (начиная с Visual Basic 2017) двоичный литерал. Если целочисленный литерал выходит за пределы диапазона Long (то есть, если он меньше Int64.MinValue или больше Int64.MaxValue), возникает ошибка компиляции.
В следующем примере целые числа, равные 4 294 967 296 и представленные в виде десятичного, шестнадцатеричного и двоичного литерала, назначаются значениям Long.
Dim longValue1 As Long = 4294967296
Console.WriteLine(longValue1)
Dim longValue2 As Long = &H100000000
Console.WriteLine(longValue2)
Dim longValue3 As Long = &B1_0000_0000_0000_0000_0000_0000_0000_0000
Console.WriteLine(longValue3)
' The example displays the following output:
' 4294967296
' 4294967296
' 4294967296
Примечание.
Вы используете префикс или обозначает шестнадцатеричный литерал, префикс &h или &H&b для обозначения двоичного литерала, а также префикса &B&o или &O для обозначения восьмеричного литерала. У десятичных литералов префиксов нет.
Начиная с Visual Basic 2017, вы также можете использовать символ подчеркивания, _как разделитель цифр для повышения удобочитаемости, как показано в следующем примере.
Dim longValue1 As Long = 4_294_967_296
Console.WriteLine(longValue1)
Dim longValue2 As Long = &H1_0000_0000
Console.WriteLine(longValue2)
Dim longValue3 As Long = &B1_0000_0000_0000_0000_0000_0000_0000_0000
Console.WriteLine(longValue3)
' The example displays the following output:
' 4294967296
' 4294967296
' 4294967296
Начиная с Visual Basic 15.5, можно также использовать символ подчеркивания (_) в качестве ведущего разделителя между префиксом и шестнадцатеричными, двоичными или восьмизначными цифрами. Например:
Dim number As Long = &H_0FAC_0326_1489_D68C
Чтобы использовать символ подчеркивания в качестве ведущего разделителя, необходимо добавить следующий элемент в файл проекта Visual Basic (*.vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Дополнительные сведения см. в разделе "Выбор версии языка Visual Basic".
Числовые литералы также могут включать Lсимвол типа для обозначения Long типа данных, как показано в следующем примере.
Dim number = &H_0FAC_0326_1489_D68CL
Советы по программированию
Вопросы взаимодействия. Если вы взаимодействуете с компонентами, не написанными для платформа .NET Framework, например для автоматизации или COM-объектов, помните, что
Longв других средах используется другая ширина данных (32 бита). Если вы передаете 32-разрядный аргумент в такой компонент, объявите его какIntegerнеLongв новом коде Visual Basic.Расширение. Тип
Longданных расширяется доDecimal,SingleилиDouble. Это означает, что типLongможно преобразовать в любой из этих типов без возникновения ошибки System.OverflowException.Тип символов. При добавлении к литералу символа типа литерала
Lпроизводится принудительное приведение литерала к типу данныхLong. При добавлении символа идентификатора типа&к любому идентификатору производится принудительное приведение этого идентификатора к типуLong.Тип платформы. В .NET Framework данный тип соответствует структуре System.Int64.