تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
Understanding Boxing and Unboxing
#1
[COLOR="#800000"]بسم الله الرحمن الرحيم
((رب اشرح لي صدري ويسر لي امري واحلل عقدة من لساني يفقهوا قولي))
صدق الله العلي العظيم[/COLOR]


السلام عليكم ورحمة الله وبركاته


سنتعلم اليوم عملية الBoxing والUnboxing في لغة السي شارب

[COLOR="#A52A2A"]من المعلوم ان هنالك ثلاثة انواع(C# Types) في لغة السي شارب وهي: الValue Type, Reference Type and Pointer Type ,ولغة السي شارب تسمح لنا بالتحويل بين هذه الانواع (من و إلى) من الValue Type إلى الReference Type والعكس.

فالBoxing: عملية تحويل من الValue Type إلى الReference Type.

والUnboxing: عملية تحويل من الReference Type الى الValue Type.[/COLOR]


لنبين هذه المفاهيم بالأمثلة:

اولا: Boxing

PHP كود :
int value 6// This is a Value Type
Object ob// This is a Reference Type
ob value//Boxing (Converting Value Type to Reference Type) 

[COLOR="#A52A2A"]في السطر الاول عرفنا متغير من نوع int وهي (Value Type)
وفي السطر الثاني عرفنا Instance من نوع object وهي (Reference Type)
وفي السطر الثالث عملنا Boxing للint الى الobject ,أي عملية تحويل من value Type الى Reference Type.[/COLOR]



ثانيا: Unboxing

PHP كود :
int value 5// This is a Value Type
Object ob// This is a Reference Type
ob value//Boxing (Converting Value Type to Reference Type)
int i = (int)ob//Unboxing (Converting Reference Type to Value Type) 
[COLOR="#A52A2A"]
في السطر الرابع عملية استخلاص القيمة من الReference Type وخزنها في الValue Type.[/COLOR]


يجب الملاحظة في انه يجب علينا استخدام الCasting للنوع الذي نريد التحويل اليه (أي نوع الValueType) في عملية الUnboxing

اتمنى انكم استفدتم من هذا الموضوع ولا تنسوني و والدي من خالص دعواتكم.
الرد }}}}
تم الشكر بواسطة:
#2
great
Cool
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  Understanding Boxing and Unboxing Sajad 3 1,599 12-02-16, 10:26 PM
آخر رد: nani49

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


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