Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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 ayırma | Değer aralığı |
|---|---|---|---|
| Boolean | 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 (işaretsiz) |
| Tarih | DateTime | 8 bayt | 0:00:00 (gece yarısı) 1 Ocak 0001 ile 11:59:59 arasında 31 Aralık 9999 |
| Ondalık | Decimal | 16 bayt | Ondalık noktası olmayan 0 ile +/-79.228.162.514.264.337.593.543.950.335 (+/-7.9...E+28) † ; 0 ile +/-7,92281625142643375935439503335 arasında, ondalık virgülünün sağındaki 28 basamak; sıfır olmayan en küçük sayı +/-0,0000000000000000000000000000000000001 (+/-1E-28) † |
| Çift (ç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 ile 2.147.483.647 arasında (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 ile -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 |
| UInteger | UInt32 | 4 bayt | 0 - 4.294.967.295 (işaretsiz) |
| ULong | UInt64 | 8 bayt | 0 - 18.446.744.073.709.551.615 (1.8...E+19 †) (işaretsiz) |
| Kullanıcı Tanımlı (yapı) | (öğesinden ValueTypedevralır) | 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 (imzasız) |
†Bilimsel gösteriminde "E" 10'un gücünü ifade eder. Bu nedenle 3,56E+2, 3,56 x 102 veya 356 ve 3,56E-2, 3,56 / 102 veya 0,0356'yı gösterir.
Uyarı
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 önemli noktalardır:
Depolama Ataması. 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
Yapı veya dizi gibi bileşik veri türünün her üyesi için de aynı noktalar geçerlidir. Türün üyelerinin nominal depolama ayırmalarını bir araya toplamaya güvenemezsiniz. Ayrıca, aşağıdakiler gibi başka önemli noktalar da vardır:
Yukarıda. Bazı bileşik türlerin ek bellek gereksinimleri vardır. Örneğin bir dizi, dizinin kendisi ve her boyut için ek bellek kullanır. 32 bit 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.
Depolama Düzeni. Bellekteki depolama sırasının bildirim sıranızla 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.