Udostępnij za pośrednictwem


Typ danych całkowitych (Visual Basic)

Przechowuje 32-bitowe (4-bajtowe) liczby całkowite ze znakiem z zakresu wartości od -2 147 483,648 do 2 147 483 647.

Uwagi

Integer Typ danych zapewnia optymalną wydajność procesora 32-bitowego. Inne typy całkowitoliczbowe wolniej wczytują się z pamięci i są w niej zapisywane.

Wartość domyślna to Integer 0.

Przypisania literału

Zmienną Integer można zadeklarować i zainicjować, przypisując jej literał dziesiętny, literał szesnastkowy, literał ósemkowy lub (począwszy od języka Visual Basic 2017) literał binarny. Jeśli literał liczby całkowitej znajduje się poza zakresem Integer (czyli jeśli jest mniejszy lub większy niż Int32.MinValue Int32.MaxValue, wystąpi błąd kompilacji.

W poniższym przykładzie liczby całkowite równe 90 946, które są reprezentowane jako liczby dziesiętne, szesnastkowe i literały binarne są przypisywane do Integer wartości.

Dim intValue1 As Integer = 90946
Console.WriteLine(intValue1)
Dim intValue2 As Integer = &H16342
Console.WriteLine(intValue2)

Dim intValue3 As Integer = &B0001_0110_0011_0100_0010
Console.WriteLine(intValue3)
' The example displays the following output:
'          90946
'          90946
'          90946

Uwaga

Należy użyć prefiksu &h lub &H oznaczyć literał szesnastkowy, prefiks &b lub &B oznaczać literał binarny oraz prefiks &o lub &O oznaczać literał ósemkowy. Literały dziesiętne nie mają prefiksu.

Począwszy od języka Visual Basic 2017, można również użyć znaku podkreślenia , _jako separatora cyfr, aby zwiększyć czytelność, jak pokazano w poniższym przykładzie.

Dim intValue1 As Integer = 90_946
Console.WriteLine(intValue1)

Dim intValue2 As Integer = &H0001_6342
Console.WriteLine(intValue2)

Dim intValue3 As Integer = &B0001_0110_0011_0100_0010
Console.WriteLine(intValue3)
' The example displays the following output:
'          90946
'          90946
'          90946

Począwszy od języka Visual Basic 15.5, można również użyć znaku podkreślenia (_) jako separatora wiodącego między prefiksem a cyframi szesnastkowymi, binarnymi lub ósemkowymi. Na przykład:

Dim number As Integer = &H_C305_F860

Aby użyć znaku podkreślenia jako separatora wiodącego, należy dodać następujący element do pliku projektu Visual Basic (*.vbproj):

<PropertyGroup>
  <LangVersion>15.5</LangVersion>
</PropertyGroup>

Aby uzyskać więcej informacji, zobacz Wybieranie wersji języka Visual Basic.

Literały liczbowe mogą również zawierać I znak typu, aby oznaczyć Integer typ danych, jak pokazano w poniższym przykładzie.

Dim number = &H_035826I

Porady dotyczące programowania

  • Zagadnienia dotyczące międzyoperacyjności. Jeśli łączysz się ze składnikami, które nie są napisane dla programu .NET Framework, takiego jak automatyzacja lub obiekty COM, pamiętaj, że Integer ma inną szerokość danych (16 bitów) w innych środowiskach. Jeśli przekazujesz 16-bitowy argument do takiego składnika, zadeklaruj go jako Short zamiast Integer w nowym kodzie Języka Visual Basic.

  • Poszerzenie. Typ Integer danych rozszerza się na Long, Decimal, Singlelub Double. Oznacza to, że można przekonwertować Integer na dowolny z tych typów bez napotkania błędu System.OverflowException .

  • Wpisz znaki. Dołączanie znaku I typu literału do literału wymusza jego Integer typ danych. Dołączanie znaku % typu identyfikatora do dowolnego identyfikatora wymusza jego wartość .Integer

  • Typ struktury. Odpowiedni typ w programie .NET Framework jest strukturą System.Int32 .

Zakres

Jeśli spróbujesz ustawić zmienną typu całkowitoliczbowego na liczbę spoza zakresu dla tego typu, wystąpi błąd. Jeśli spróbujesz ustawić ją na ułamek, liczba jest zaokrąglana w górę lub w dół do najbliższej wartości liczby całkowitej. Jeśli liczba jest jednakowo blisko dwóch wartości całkowitych, wartość jest zaokrąglana do najbliższej parzystej liczby całkowitej. To zachowanie minimalizuje błędy zaokrągleń, które powstają w wyniku konsekwentnego zaokrąglania wartości punktu środkowego w jednym kierunku. W poniższym kodzie pokazano przykłady zaokrąglania.

' The valid range of an Integer variable is -2147483648 through +2147483647.  
Dim k As Integer  
' The following statement causes an error because the value is too large.  
k = 2147483648  
' The following statement sets k to 6.  
k = 5.9  
' The following statement sets k to 4  
k = 4.5  
' The following statement sets k to 6  
' Note, Visual Basic uses banker’s rounding (toward nearest even number)  
k = 5.5  

Zobacz też