خلاصة نوع بيانات (Visual Basic)
يعرض الجدول التالي أنواع بيانات Visual Basic، أنواع دعم وقت تشغيل اللغة العامة الخاص بهم، تخصيص التخزين الاسمي ونطاقات القيمة الخاصة بهم.
نوع Visual Basic |
بنية نوع وقت تشغيل اللغة العامة |
تخصيص التخزين الاسمي |
نطاق القيمة |
---|---|---|---|
يعتمد على تطبيق النظام الأساسي |
True أو False |
||
بايت واحد |
0 إلى 255 (دون إشارة) |
||
حرف (حرف واحد) |
2 بايت |
0 إلى 65535 (دون إشارة) |
|
8 بايت |
0: 00: 00 (منتصف الليل) في 1 يناير, 11: 59: 0001 إلى 59 PM في 31 ديسمبر 9999 |
||
16 بايت |
0 إلى 79,228,162,514,264,337,593,543,950,335-/+ (+/-7.9...E+28) † بدون فاصلة عشرية; 0 إلى +/- 7.9228162514264337593543950335 مع 28 منزلة على يمين العلامة العشرية; أصغر رقم غير الصفر هو +/-0.0000000000000000000000000001 (1E-28-/+) † |
||
مزدوج (الفاصلة العائمة للدقة المزدوجة) |
8 بايت |
1.79769313486231570E + 308- إلى 4.94065645841246544E-324- † للقيم السالبة; 4.94065645841246544E-324 إلى 1.79769313486231570E+308 † للقيم الموجبة; |
|
4 بايت |
2,147,483,648- إلى 2,147,483,647 (بإشارة) |
||
طويل (عدد صحيح طويل) |
8 بايت |
9,223,372,036,854,775,808- إلى 9,223,372,036,854,775,807 (E+18...9.2 †) (بإشارة) |
|
(فئة) Object. |
4 بايت على نظام أساسي ذو 32-بت 8 بايت على نظام أساسي ذو 64-بت |
يمكن أن يتم تخزين أي نوع في متغير من نوع Object |
|
بايت واحد |
128- إلى 127 (بإشارة) |
||
قصير (عدد صحيح قصير) |
2 بايت |
32,768- إلى 32,767 (بإشارة) |
|
فردي(فاصلة عائمة أحادية الدقة) |
4 بايت |
3.4028235E + 38- إلى 1.401298E-45- † للقيم السالبة; 1.401298E-45 إلى 3.4028235E+38 † للقيم الموجبة; |
|
سلسلة (طول المتغير) |
(فئة) String. |
يعتمد على تطبيق النظام الأساسي |
0 إلى 2 بليون حرف Unicode تقريباً |
4 بايت |
0 إلى 4,294,967,295 (دون إشارة) |
||
8 بايت |
0 إلى 18,446,744,073,709,551,615 (1.8...E+19 †) (دون إشارة) |
||
معرف من قبل المستخدم (بنية) |
(يرث من ValueType) |
يعتمد على تطبيق النظام الأساسي |
يحتوي كل عضو في البنية نطاق محدد من قبل نوع البيانات الخاص به و مستقل عن نطاقات الأعضاء الآخرين |
2 بايت |
0 إلى 65,535 (دون إشارة) |
† في الرمز العلمي يشير "E" إلى أساس 10. لذا يدل 3.56E + 2 إلى 3.56 x 102 أو 356 و 3.56E- يدل 23.56 / 102 أو 0.0356.
ملاحظة
للنص الذي يحتوي سلاسل، استخدم دالة StrConv للتحويل من تنسيق نص إلى آخر.
استهلاك الذاكرة
عندما تقوم بتعريف نوع بيانات أولي، من غير الآمن افتراض أن استهلاك الذاكرة الخاص به هو نفس تخصيص التخزين الاسمي الخاصة به. هذا يرجع إلى الاعتبارات التالية:
تعيين التخزين. يمكن لوقت تشغيل اللغة العامة تعيين تخزين يستند إلى الخصائص الحالية للنظام الأساسي الذي تقوم بتنفيذ تطبيقك عليه. إذا كانت الذاكرة ممتلئة تقريباً، فإنه قد يحزم العناصر المعرفه الخاصة بك أقرب ما يمكن لبعضها. في حالات أخرى قد يقوم بمحاذاة عناوين الذاكرة الخاصة بهم إلى حدود الأجهزة الطبيعية لتحسين الأداء.
عرض النظام الأساسي. تعيين التخزين على أنظمة أساسية ذات 64-bit يختلف عن تعيين على نظام أساسي ذو 32-bit.
أنواع البيانات المركبة
تطبق نفس الاعتبارات على كل عضو من نوع بيانات مركب، مثل بنية أو صفيف. لا يمكنك الاعتماد على إضافة تخصيصات التخزين الاسمي لأعضاء النوع معاً ببساطة. علاوة على ذلك، هناك اعتبارات أخرى، مثل ما يلي:
مقدار الحمل. تملك بعض الأنواع المركبة متطلبات ذاكرة إضافية. على سبيل المثال، يستخدم صفيف ذاكرة إضافية للصفيف نفسه وأيضاً لكل بُعد. على نظام أساسي ذو 32-بت, مقدار الحمل هذا حالياً هو 12 بايت بالإضافة إلى 8 بايت لكل بُعد. تتم مضاعفة هذه المتطلبات على الأنظمة الأساسية ذات 64-بت.
**تخطيط التخزين.**لا يمكنك أن تفترض بأمان أن ترتيب المخزن في الذاكرة هو نفس ترتيب تعريفاتك. لا يمكنك حتى وضع افتراضات حول محاذاة البايت، مثل حدود 2 أو 4 بايت. إذا كنت تقوم بتعريف فئة أو بنية و تحتاج للتحكم في تخطيط التخزين الخاص بأعضائها، يمكنك تطبيق سمة StructLayoutAttribute للفئة أو البنية.
مقدار حمل الكائن
يستخدم Object الذي يشير إلى أي نوع بيانات أولي أو مركب، 4 بايت بالإضافة إلى البيانات المضمنة في نوع البيانات.