14-08-20, 10:24 AM
(آخر تعديل لهذه المشاركة : 14-08-20, 10:25 AM {2} بواسطة معاند الحظ.)
اخي الكريم
هناك صنفان من الانواع في لغة فيجوال بيسك
الاول نوع مرجعي Reference type
الثاني نوع قيمة Value type
عند الاعلان عن المتغيرات المرجعيه يجب فعل واحد من امرين
اما ان يشتمل الاعلان عن المتغير على كلمة New
مثال:
اعلان عن متغير مرجعي باستخدام الكلمة New
Dim frm1 As Form
frm1= New Form
or
Dim frm1 As New Form
او ان يتم اسناد المتغير لمتغير من نفس نوعه باستخدام علامة = كالتالي:
Dim frm1 As Form
frm1= mainForm
اما الاعلان عن المتغيرات ذات القيمة Value type
فهي تلقائيا تحمل قيمة ابتدائية سواء استخدمت الكلمة New او لا بمعنى انك لو اعلنت المتغير التالي
Dim a As Integer
المتغير a يحمل القيمة 0 تلقائيا مادمت لم تحدد قيمته عند اعلانه مثل
Dim a As Integer=5
وكذلك الامر بالنسبة الى المتغير النصي التالي
Dim x As String
المتغير x له قيمة اولية = "" جملة فارغة NullString او String.Empty
الا اذا حددت قيمته عند اعلانه كالتالي
Dim x As String="Hello World"
عموما اوضح فرق هو انه سيحدث خطأ في برنامجك اذا حاولت استخدام متغير مرجعي قبل ان تهيئه باستخدام الكلمة New او تسند له قيمة من نفس نوعه
عموما يمكنك مراجعة الروابط التالية
المعامل New
شرح عن انواع المراجع وانواع القيمة من مايكروسوفت
ليس بالضرورة ماكتبته ان يكون الاجابة الكاملة لسؤالك
هناك صنفان من الانواع في لغة فيجوال بيسك
الاول نوع مرجعي Reference type
الثاني نوع قيمة Value type
عند الاعلان عن المتغيرات المرجعيه يجب فعل واحد من امرين
اما ان يشتمل الاعلان عن المتغير على كلمة New
مثال:
اعلان عن متغير مرجعي باستخدام الكلمة New
Dim frm1 As Form
frm1= New Form
or
Dim frm1 As New Form
او ان يتم اسناد المتغير لمتغير من نفس نوعه باستخدام علامة = كالتالي:
Dim frm1 As Form
frm1= mainForm
اما الاعلان عن المتغيرات ذات القيمة Value type
فهي تلقائيا تحمل قيمة ابتدائية سواء استخدمت الكلمة New او لا بمعنى انك لو اعلنت المتغير التالي
Dim a As Integer
المتغير a يحمل القيمة 0 تلقائيا مادمت لم تحدد قيمته عند اعلانه مثل
Dim a As Integer=5
وكذلك الامر بالنسبة الى المتغير النصي التالي
Dim x As String
المتغير x له قيمة اولية = "" جملة فارغة NullString او String.Empty
الا اذا حددت قيمته عند اعلانه كالتالي
Dim x As String="Hello World"
عموما اوضح فرق هو انه سيحدث خطأ في برنامجك اذا حاولت استخدام متغير مرجعي قبل ان تهيئه باستخدام الكلمة New او تسند له قيمة من نفس نوعه
عموما يمكنك مراجعة الروابط التالية
المعامل New
شرح عن انواع المراجع وانواع القيمة من مايكروسوفت
ليس بالضرورة ماكتبته ان يكون الاجابة الكاملة لسؤالك


