تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] سوال بسيط
#5
Heart 
(14-08-20, 10:24 AM)معاند الحظ كتب : اخي الكريم

هناك صنفان  من الانواع في لغة فيجوال بيسك
الاول  نوع مرجعي 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
شرح عن انواع المراجع وانواع القيمة من مايكروسوفت

ليس بالضرورة ماكتبته ان يكون الاجابة الكاملة لسؤالك


 أخي الكريم بارك الله فيك و فيه اجابتك و شكرا على هالمعومه المفيده???????♥️♥️??
الرد }}}
تم الشكر بواسطة: حريف برمجة , معاند الحظ , essawq


الردود في هذا الموضوع
سوال بسيط - بواسطة abarrak - 14-08-20, 01:45 AM
RE: سوال بسيط - بواسطة عبد الهادي بهاب - 14-08-20, 03:37 AM
RE: سوال بسيط - بواسطة abarrak - 14-08-20, 05:03 AM
RE: سوال بسيط - بواسطة معاند الحظ - 14-08-20, 10:24 AM
RE: سوال بسيط - بواسطة abarrak - 16-08-20, 11:18 AM
RE: سوال بسيط - بواسطة ابو روضة - 16-08-20, 11:30 PM


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم