05-10-12, 04:39 AM
كاتب الموضوع : !!! BoriS !!!
The Value Types :البيانات ذات القيمة فى .Net frame work هى من ابسط انواع البيانات وهى تتمثل فى ال Numeric وال Boolean ، البيانات Value Types هى المتغيرات التى تحتوى قيمها وتخزنها مباشرة فى الذاكرة ، نسخ البيانات Value Types تخزن فى جزء فى الذاكرة يسمى Stack والتى يستطيع ال Run Time التعامل معها كانشاءها وتعديلها وحتى حذفها بدون صعوبة تذكر حيث انها لا تحتاج الى GC وهى ال Garbage Collection .
من اجل تحسين الكفاءة ال Optimization تنصح ميكروسوفت باستخدام الانواع Int32 و UInt32 عند التعامل مع ال Integers اما عند التعامل مع القيم ذات الفاصلة ( . ) استخدم ال Double Type
التصريح الامثل للمتغيرات :
عند استخدام نوع بيانات يجب التصريح عن متغير من هذا النوع ، البيانات Value Types تحتوى على Constructor مشيد ، لذلك لن تحتاج الى الكلمة New كما نفعل مع ال Class لسبب ان هذا المشيد Constructor يحتوى على قيمة افتراضية تكون غالبا Null او ( 0 ) لكن يجب عليك اسناد قيمة الى هذا المتغير ..
كود :
[color=#000000][COLOR=#0000bb]Dim B [/color][color=#007700]As [/color][color=#0000bb]Boolean [/color][color=#007700]= [/color][COLOR=#0000bb]False
[/COLOR][/COLOR]
يمكنك VB.NET من التصريح عن متغير من النوع Nullable .. ولدية استخدامات عديدة ومفيدة
لو قمنا بعمل سؤال يستطيع المستخدم اجابتة ب Yes Or No والمستخدم لم يحدد اجابة فالان لدينا متغير لا يحمل قيمة فمن هنا تاتى فائدة المتغيرات من نوع Nullable
كود :
[color=#000000][COLOR=#0000bb]Dim B [/color][color=#007700]As [/color][color=#0000bb]Nullable [/color][color=#007700]([/color][color=#0000bb]Of Boolean[/color][color=#007700]) = [/color][COLOR=#0000bb]Nothing
[/COLOR][/COLOR]
التصريح عن متغير من النوع Nullable يتيح لك استخدام الطريقة Has Value لكى تعلم هل تم اسناد القيمة ام لا .
كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]If [/color][color=#0000bb]B[/color][color=#007700].[/color][COLOR=#0000bb]HasVaule Then
Msgbox [/COLOR][color=#007700]([/color][color=#dd0000]"b Is" [/color][color=#007700], [/color][color=#0000bb]b[/color][color=#007700].[/color][color=#0000bb]value[/color][COLOR=#007700])
Else
[/COLOR][color=#0000bb]msgbox [/color][color=#007700]([/color][color=#dd0000]"B is not set"[/color][COLOR=#007700])
[/COLOR][color=#0000bb]end [/color][COLOR=#007700]if
[/COLOR][color=#0000bb][/color][/COLOR]