Veri Türü Özeti (Visual Basic)
Aşağıdaki tabloda veri Visual Basic türleri, destekleyen ortak dil çalışma zamanı türleri, nominal depolama alanı ayırmaları ve değer aralıkları yer alır.
| Visual Basic türü | Ortak dil çalışma zamanı türü yapısı | Nominal depolama alanı ayırma | Değer aralığı |
|---|---|---|---|
| Boole | Boolean | Platformu uygulamaya bağlıdır | True veya False |
| Bayt | Byte | 1 bayt | 0 ile 255 (imzasız) |
| Char (tek karakter) | Char | 2 bayt | 0 ile 65535 (imzasız) |
| Date | DateTime | 8 bayt | 1 Ocak 0001 ile 11:59:59 PM arasında 31 Aralık 9999'da 0:00:00 (gece yarısı) |
| On -da -lı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.9228162514264337593543950335 arasında, ondalık ayırıcının sağ tarafından 28 basamak; Sıfır olmayan en küçük sayı +/-0.000000000000000000000000000 (+/-1E-28) † |
| Çift (çift duyarlıklı kayan nokta) | Double | 8 bayt | Negatif değerler için -1,79769313486231570E+308 ile -4,94065645841246544E-324 †; Pozitif değerler için 4,94065645841246544E-324 ile 1,79769313486231570E+308 † |
| Tamsayı | Int32 | 4 bayt | -2.147.483.648 ile 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 depolanmış olabilir Object |
| Sbyte | SByte | 1 bayt | -128 ile 127 (imzalı) |
| Kısa (kısa tamsayı) | Int16 | 2 bayt | -32.768 ile 32.767 (imzalı) |
| Tek (tek duyarlıklı kayan nokta) | Single | 4 bayt | -3,4028235E+38 ile -1,401298E-45 † değerler için; 1,401298E-45 ile 3,4028235E+38 † değerler için |
| Dize (değişken uzunluğu) | String (sınıf) | Platformu uygulamaya bağlıdır | 0 ile yaklaşık 2 milyar Unicode karakter |
| Uınteger | UInt32 | 4 bayt | 0 ile 4.294.967.295 (imzasız) |
| Ulong | UInt64 | 8 bayt | 0 ile 18.446.744.073.709.551.615 (1.8...E+19 †) (imzasız) |
| Kullanıcı Tanımlı (yapı) | ('den ValueType devralıyor) | Platformu uygulamaya bağlıdır | Yapının her üyesinin veri türüne göre belirlenen bir aralığı vardır ve diğer üyelerin aralıklardan bağımsızdır |
| Ushort | UInt16 | 2 bayt | 0 ile 65.535 (imzasız) |
† Bilimsel bir ifadede"E", 10'ların gücünü ifade eder. Bu nedenle 3,56E+2 3,56 x 102 veya 356'ya, 3,56E-2 ise 3,56 / 102 veya 0,0356'ya işaret ediyor.
Not
Metin içeren dizeler için işlevini StrConv kullanarak bir metin biçiminden diğerine dönüştürebilirsiniz.
Bildirim deyiminde bir veri türü belirtmeye ek olarak, bir tür karakteri kullanarak bazı programlama öğelerinin veri türünü zorabilirsiniz. Bkz. Tür Karakterleri.
Bellek Tüketimi
Basit bir veri türü bildirebilirsiniz, bellek tüketiminin nominal depolama alanı ayırma ile aynı olduğunu varsayma güvenli değildir. Bunun nedeni aşağıdaki noktalardır:
Depolama Atama. Ortak dil çalışma zamanı, uygulamanın yürütülmektedir olduğu platformun geçerli özelliklerine göre depolama alanı atayabilirsiniz. Bellek neredeyse dolu ise, bildirilen öğelerinizi mümkün olduğunca yakın bir şekilde bir araya toplar. Diğer durumlarda performansı iyileştirmek için bellek adreslerini doğal donanım sınırlarına hizalar.
Platform Genişliği. Depolama 64 bit platformda atama, 32 bitlik bir platformda 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 eklemeyi dayanamazsiniz. Ayrıca, aşağıdakiler gibi başka önemli noktalar da vardır:
Yükü. Bazı bileşik türlerin ek bellek gereksinimleri vardır. Örneğin, bir dizi, dizinin kendisi için ve her boyut için ek bellek kullanır. 32 bitlik bir platformda bu ek yük şu anda her boyut için 12 bayt artı 8 bayttır. 64 bitlik bir platformda bu gereksinim iki katına çıkar.
Depolama Düzen. Bellekte depolama sıranın bildirim sıranız ile aynı olduğunu güvenle varsayamazsiniz. 2 bayt veya 4 bayt sınırı gibi bayt hizalaması hakkında varsayımlarda bulunamaz bilesiniz. Bir sınıf veya yapı tanımlayarak üyelerinin depolama düzenini denetlemeye ihtiyacınız varsa, özniteliğini sınıfa veya StructLayoutAttribute yapıya uygulayabilirsiniz.
Nesne Yükü
Herhangi bir basit veya bileşik veri türüne başvuran, veri türünde yer alan verilere ek Object olarak 4 bayt kullanır.