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 osignerade 32-bitars heltal (4 byte) som sträcker sig i värde från 0 till 4 294 967 295.
Kommentarer
Datatypen UInteger ger det största osignerade värdet i den mest effektiva databredden.
Standardvärdet UInteger för är 0.
Literaltilldelningar
Du kan deklarera och initiera en UInteger 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 UInteger (dvs. om det är mindre än eller större än UInt32.MinValueUInt32.MaxValue, uppstår ett kompileringsfel.
I följande exempel tilldelas heltal som är lika med 3 000 000 000 som visas som decimaler, hexadecimala och binära literaler till UInteger värden.
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
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 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
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 UInteger = &H_0F8C_0326
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 UI tecknet eller uitypen för att ange UInteger datatypen, vilket visas i följande exempel.
Dim number = &H_0FAC_14D7ui
Programmeringstips
Datatyperna UInteger och Integer ger optimala prestanda för en 32-bitars processor, eftersom de mindre heltalstyperna (UShort, Short, Byteoch SByte), även om de använder färre bitar, tar mer tid att läsa in, lagra och hämta.
Negativa tal. Eftersom
UIntegerdet är en osignerad typ kan den inte representera ett negativt tal. Om du använder operatorn unary minus (-) för ett uttryck som utvärderas för att skrivaUIntegerkonverterar Visual Basic uttrycket tillLongförst.CLS-efterlevnad. Datatypen
UIntegerär inte en del av CLS (Common Language Specification ), så CLS-kompatibel kod kan inte använda en komponent som använder den.Interop-överväganden. Om du interagerar med komponenter som inte är skrivna för .NET Framework, till exempel Automation- eller COM-objekt, bör du tänka på att typer som
uintkan ha en annan databredd (16 bitar) i andra miljöer. Om du skickar ett 16-bitars argument till en sådan komponent deklarerar du det somUShorti stället förUIntegeri din hanterade Visual Basic-kod.Breddning. Datatypen
UIntegerutvidgas tillLong,ULong,Decimal,SingleochDouble. Det innebär att du kan konverteraUIntegertill någon av dessa typer utan att det uppstår något System.OverflowException fel.Skriv tecken. Om du lägger till tecken av
UItypen literal till en literal så tvingar det tillUIntegerdatatypen.UIntegerhar inget tecken av identifierartyp.Ramverkstyp. Motsvarande typ i .NET Framework är System.UInt32 strukturen.