Tamsayı veri türü (Visual Basic)
Değer olarak -2.147.483.648 ile 2.147.483.647 arasında değişen imzalı 32 bitlik (4 bayt) tamsayıları tutar.
Açıklamalar
Veri Integer
türü, 32 bit işlemcide en iyi performansı sağlar. Diğer tamsayı türlerinin bellekten yüklenmesi ve belleğe depolanması daha yavaştır.
varsayılan değeri Integer
0'dır.
Değişmez değer atamaları
Bir değişkeni ondalık sabit değer, onaltılık değişmez değer, sekizlik değişmez değer veya (Visual Basic 2017'den başlayarak) ikili sabit değer atayarak bildirebilir ve başlatabilirsiniz Integer
. Tamsayı değişmez değeri aralığının Integer
dışındaysa (yani, değerinden Int32.MinValue küçük veya daha Int32.MaxValuebüyükse) bir derleme hatası oluşur.
Aşağıdaki örnekte, değerlere ondalık, onaltılık ve ikili değişmez değer olarak temsil edilen 90.946'ya Integer
eşit tamsayılar atanır.
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
Not
Ya da ön ekini &h
kullanarak onaltılık değişmez değeri, ön eki &b
veya &B
ikili değişmez değeri ve ön eki &o
ya da &O
sekizli değişmez değeri belirtirsiniz.&H
Ondalık değişmez değerlerin ön eki yoktur.
Visual Basic 2017'den başlayarak, aşağıdaki örnekte gösterildiği gibi okunabilirliği artırmak için basamak ayırıcısı olarak alt çizgi karakterini _
de kullanabilirsiniz.
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
Visual Basic 15.5'den başlayarak, ön ek ile onaltılık, ikili veya sekizlik basamaklar arasında öncü ayırıcı olarak alt çizgi karakterini (_
) de kullanabilirsiniz. Örneğin:
Dim number As Integer = &H_C305_F860
Alt çizgi karakterini öncü ayırıcı olarak kullanmak için Visual Basic proje (*.vbproj) dosyanıza aşağıdaki öğeyi eklemeniz gerekir:
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Daha fazla bilgi için bkz. Visual Basic dil sürümünü seçme.
Sayısal değişmez değerler, aşağıdaki örnekte gösterildiği gibi veri türünü belirtmek için tür karakterini de içerebilir I
.Integer
Dim number = &H_035826I
Programlama ipuçları
Birlikte Çalışma Konuları. Otomasyon veya COM nesneleri gibi .NET Framework için yazılmayan bileşenlerle birlikte kullanıyorsanız, diğer ortamlarda farklı bir veri genişliğine (16 bit) sahip olduğunu
Integer
unutmayın. Böyle bir bileşene 16 bitlik bir bağımsız değişken geçiriyorsanız, bunu yeni Visual Basic kodunuz yerineInteger
olarakShort
bildirin.Genişletme.
Integer
Veri türü , ,Decimal
Single
veyaDouble
olarakLong
genişler. Bu, hatayla System.OverflowException karşılaşmadan bu türlerden herhangi birine dönüştürebileceğinizInteger
anlamına gelir.Karakter yazın. Değişmez değer türü karakterinin
I
değişmez değere eklenmesi, bunu veri türüneInteger
zorlar. Tanımlayıcı türü karakterinin%
herhangi bir tanımlayıcıya eklenmesi bunu olarakInteger
zorlar.Çerçeve Türü. .NET Framework'te karşılık gelen tür yapısıdır System.Int32 .
Aralık
Tamsayı türünde bir değişkeni, bu türe ilişkin aralık dışında bir sayıya ayarlamaya çalışırsanız hata meydana gelir. Bir kesir olarak ayarlamaya çalışırsanız, sayı en yakın tamsayı değerine yukarı veya aşağı yuvarlanır. Sayı iki tamsayı değerine de eşit yakınlıkta ise, değer en yakın çift tamsayıya yuvarlanır. Bu davranış, bir orta nokta değerini tek bir yönde sürekli olarak yuvarlamaktan kaynaklanan yuvarlama hatalarını en aza indirir. Aşağıdaki kod, yuvarlama örneklerini göstermektedir.
' 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