Veri Türü Özeti (Visual Basic)
Aşağıdaki tabloda Visual Basic veri türleri, destekleyici ortak dil çalışma zamanı türleri, nominal depolama ayırmaları ve değer aralıkları gösterilmektedir.
Visual Basic türü | Ortak dil çalışma zamanı türü yapısı | Nominal depolama alanı ayırma | Değer aralığı |
---|---|---|---|
Boole | Boolean | Platform uygulamaya bağlıdır | True veya False |
Bayt | Byte | 1 bayt | 0 ile 255 arasında (imzasız) |
Char (tek karakter) | Char | 2 bayt | 0 ile 65535 (imzasız) |
Date | DateTime | 8 bayt | 1 Ocak 0001 ile 11:59:59 arasında 31 Aralık 9999 tarihinde 0:00:00 (gece yarısı) |
On -da -lık | Decimal | 16 bayt | 0 ile +/-79.228.162.514.264.337.593.543.950.335 (+/-7.9...E+28) arasında ondalık ayırıcı olmadan † ; 0 ile +/-7,9228162514264337593543950335 arasında, ondalık basamağı 28 basamakla; sıfır olmayan en küçük sayı +/-0,00000000000000000000000000000001 (+/-1E-28) † |
Double (çift duyarlıklı kayan nokta) | Double | 8 bayt | -1,79769313486231570E+308 ile -4,94065645841246544E-324 negatif değerler için † ; 4.94065645841246544E-324 - 1,79769313486231570E+308 pozitif değerler için † |
Tamsayı | Int32 | 4 bayt | -2.147.483.648 - 2.147.483.647 (imzalı) |
Uzun (uzun tamsayı) | Int64 | 8 bayt | -9.223.372.036.854.775.808 - 9.223.372.036.854.775.807 (9.2...E+18 †) (imzalı) |
Nesne | Object (sınıf) | 32 bit platformda 4 bayt 64 bit platformda 8 bayt |
Herhangi bir tür, türünde bir değişkende depolanabilir Object |
Sbyte | SByte | 1 bayt | -128 ile 127 arası (imzalı) |
Kısa (kısa tamsayı) | Int16 | 2 bayt | -32.768 ile 32.767 arasında (imzalı) |
Tek (tek duyarlıklı kayan nokta) | Single | 4 bayt | Negatif değerler için -3.4028235E+38 - -1.401298E-45 † ; 1.401298E-45 - 3.4028235E+38 pozitif değerler için † |
Dize (değişken uzunluklu) | String (sınıf) | Platform uygulamaya bağlıdır | 0 ile yaklaşık 2 milyar Unicode karakter |
Uınteger | UInt32 | 4 bayt | 0 - 4.294.967.295 (imzasız) |
Ulong | UInt64 | 8 bayt | 0 - 18.446.744.073.709.551.615 (1.8...E+19 †) (işaretsiz) |
Kullanıcı Tanımlı (yapı) | (devralır)ValueType | Platform uygulamaya bağlıdır | Yapının her üyesi, veri türüne göre belirlenen ve diğer üyelerin aralıklarından bağımsız bir aralığa sahiptir |
Ushort | UInt16 | 2 bayt | 0 ile 65.535 arasında (imzasız) |
†Bilimsel gösteriminde "E" 10'un gücünü ifade eder. Bu nedenle 3,56E+2, 3,56 x 102 veya 356'yı, 3,56E-2 ise 3,56 / 102 veya 0,0356'yı gösterir.
Not
Metin içeren dizeler için işlevini kullanarak StrConv bir metin biçiminden diğerine dönüştürün.
Bildirim deyiminde veri türü belirtmeye ek olarak, bir tür karakteri kullanarak bazı programlama öğelerinin veri türünü zorlayabilirsiniz. Bkz . Tür Karakterleri.
Bellek Tüketimi
Bir temel veri türü bildirdiğinizde, bellek tüketiminin nominal depolama ayırmasıyla aynı olduğunu varsaymak güvenli değildir. Bunun nedeni aşağıdaki noktalardır:
atamayı Depolama. Ortak dil çalışma zamanı, uygulamanızın yürütülmekte olduğu platformun geçerli özelliklerine göre depolama alanı atayabilir. Bellek dolmak üzereyse, bildirilen öğelerinizi mümkün olduğunca birbirine yakın bir şekilde paketleyebilir. Diğer durumlarda, performansı iyileştirmek için bellek adreslerini doğal donanım sınırlarına hizalayabilir.
Platform Genişliği. 64 bit platformdaki Depolama ataması, 32 bit platformdaki atamadan farklıdır.
Bileşik Veri Türleri
Aynı noktalar, yapı veya dizi gibi bileşik veri türünün her üyesi için de geçerlidir. Türün üyelerinin nominal depolama ayırmalarını bir araya toplamaya güvenemezsiniz. Ayrıca, aşağıdakiler gibi dikkat edilmesi gereken başka noktalar da vardır:
Yükü. Bazı bileşik türlerin ek bellek gereksinimleri vardır. Örneğin bir dizi, dizinin kendisi ve her boyut için fazladan bellek kullanır. 32 bitlik bir platformda bu ek yük şu anda her boyut için 12 bayt artı 8 bayttır. 64 bit platformda bu gereksinim iki katına çıkmıştır.
Düzen'i Depolama. Bellekteki depolama sırasının bildirim siparişinizle aynı olduğunu güvenle varsayamazsınız. 2 bayt veya 4 baytlık sınır gibi bayt hizalaması hakkında varsayımlarda bile bulunamazsınız. Bir sınıf veya yapı tanımlıyorsanız ve üyelerinin depolama düzenini denetlemeniz gerekiyorsa, özniteliğini sınıfa veya yapıya uygulayabilirsiniz StructLayoutAttribute .
Nesne Ek Yükü
Object
Herhangi bir temel veya bileşik veri türüne başvuran, veri türünde bulunan verilere ek olarak 4 bayt kullanır.