Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Innehåller signerade 64-bitars heltal (8 byte) som sträcker sig i värde från -9 223 372 036 854 775 808 till 9 223 372 036 854 775 807 (9,2...E+18).
Kommentarer
Long Använd datatypen för att innehålla heltalsnummer som är för stora för att få plats i Integer datatypen.
Standardvärdet Long för är 0.
Literaltilldelningar
Du kan deklarera och initiera en Long variabel genom att tilldela den en decimalliteral, en hexadecimal literal, en oktal literal eller (från och med Visual Basic 2017) en binär literal. Om heltalsliteralen ligger utanför intervallet Long (dvs. om det är mindre än eller större än Int64.MinValueInt64.MaxValue, uppstår ett kompileringsfel.
I följande exempel tilldelas heltal som är lika med 4 294 967 296 som representeras som decimaler, hexadecimala och binära literaler till Long värden.
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
Kommentar
Du använder prefixet &h eller &H för att ange en hexadecimal literal, prefixet &b eller &B för att ange en binär literal och prefixet &o eller &O för att ange en oktal literal. Decimalliteraler har inget prefix.
Från och med Visual Basic 2017 kan du också använda understreckstecknet, , _som en sifferavgränsare för att förbättra läsbarheten, vilket visas i följande exempel.
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
Från och med Visual Basic 15.5 kan du också använda understreckstecknet (_) som en inledande avgränsare mellan prefixet och hexadecimala, binära eller oktala siffror. Till exempel:
Dim number As Long = &H_0FAC_0326_1489_D68C
Om du vill använda understreckstecknet som en inledande avgränsare måste du lägga till följande element i visual basic-projektfilen (*.vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Mer information finns i Välj språkversion för Visual Basic.
Numeriska literaler kan också innehålla Ltyptecknet för att ange Long datatypen, vilket visas i följande exempel.
Dim number = &H_0FAC_0326_1489_D68CL
Programmeringstips
Interop-överväganden. Om du interagerar med komponenter som inte är skrivna för .NET Framework, till exempel Automation- eller COM-objekt, ska du komma ihåg att det
Longhar en annan databredd (32 bitar) i andra miljöer. Om du skickar ett 32-bitarsargument till en sådan komponent deklarerar du det somIntegeri stället förLongi din nya Visual Basic-kod.Breddning. Datatypen
Longutvidgas tillDecimal,SingleellerDouble. Det innebär att du kan konverteraLongtill någon av dessa typer utan att det uppstår något System.OverflowException fel.Skriv tecken. Om du lägger till teckentypen
Lliteral till en literal tvingar det tillLongdatatypen. Om du lägger till tecknet&för identifierartyp till en identifierare tvingar det tillLong.Ramverkstyp. Motsvarande typ i .NET Framework är System.Int64 strukturen.