شـبـكــة عـمّـــار
إخبارية - ترفيهية
- تعليمية



جديد الصور
جديد الأخبار
جديد المقالات


جديد الصور

جديد البطاقات

جديد الصوتيات

المتواجدون الآن


تغذيات RSS

2012-08-10 06:51

تحويل الأنواع - التحويل الضمني- Implicit Conversion

بعد أن تعرفنا على المتغيرات وكيفية تعريفها بأحد الأنواع المختلفة في سي شارب. سنتعرف في هذا الدرس على عملية تحويل المتغيرات من نوع إلى آخر، وهذه العملية تسمى عملية تحويل الأنواع، وهي طريقتين؛ التحويل الضمني و التحويل العلني.

التحويل الضمني:

كما ذكرنا في الدرس الماضي، بأن المتغيرات بمثابة الصناديق التي نحتفظ فيها بالأشياء داخل الخزانة، والأشياء في الكومبيوتر هي القيمة التي يحتفظ بها المتغير ! فمن البديهي أن نختار الصندوق المناسب للقيمة الموجودة لدي! فلا يمكن وضع قيمة كبيرة في صندوق صغير! بينما يمكننا وضع قيمة صغيرة في صندوق أكبر من الصندوق المناسب لهذه القيمة!

وكذلك عندما نريد نقل قيمة من الصندوق المناسب إلى صندوق آخر،فلا بد أولاً من أن يكون حجم الصندوق الجديد مناسب لهذه القيمة أو أكبر منها لنستطيع حفظها فيه.

نستخدم طريقة التحويل الضمني إذا كان حجم المتغير الذي نريد التحويل له يساوي أو أكبر من حجم المتغير الموجود لدي، ويمكننا التعرف على ذلك من الجدولين 1 و 2 في درس أنواع البيانات.

فمثلاً المتغيرين التالين:


int a;
long b;

a=10;

b=a;

Console.WriteLine("a = {0}", a);

Console.WriteLine("b = {0}", b);


في هذا المثال، عرفنا متغيرين؛ a من النوع int و b من النوع long، ثم حولنا المتغير a من النوع int إلى النوع long وذلك بجعل المتغير b يحمل قيمة المتغير a. وستُظهر النتيجة بعد تنفيذ الكود السابق أن كلا المتغيرين سيحملان القيمة 10.

سمي هذا النوع من التحويل بالتحويل الضمني، لأنه لم يلزمنا أي كود إضافي للتحويل! فكل ما قمنا به هو تعيين قيمة للمتغير b فقط! وذلك لأن حجم المتغير a وهو من النوع int يساوي 2 بايت، بينما حجم المتغير b من النوع long هو 4 بايت، وبذلك فأي قيمة من النوع int نستطيع وضعها بسهولة في متغير من النوع long وذلك لأن المساحة التخزينية لهذا المتغير (4 بايت) أكثر من كافية بالنسبة لمتغير من النوع int.

والجدول التالي يوضح الأنواع التي يمكن تحويلها لأنواع أخرى بالطريقة الضمنية:



ولكن ماذا إذا أردنا أن نحول متغير من النوع long إلى int؟

بمعنى آخر، لو كان لدي صندوقين، أحد هذين الصندوقين صغير ويسع كتاب طوله 10 سم أو أقل، والآخر صندوق كبير ويسع كتاب طوله 20 سم أو أقل!

فيمكن بسهولة أن أضع محتويات الصندوق الصغير (10 سم أو أقل) في الصندوق الكبير (20 سم أو أقل).

ولنفرض أن الصندوق الكبير يحتوي على كتاب طوله 5 سم، بينما الصندوق الصغير فارغ! وأردت أن أنقل هذا الكتاب للصندوق الصغير، فهل يمكنني ذلك؟!

بالطبع يمكننا ذلك! ونفس الشئ مع المتغيرات يمكننا ذلك باستخدام الطريقة الثانية من طرق تحويل الأنواع وهي طريقة التحويل العلني. كما سنتعرف عليه في الدرس القادم إن شاء الله.



تعليقات 0 | إهداء 0 | زيارات 651


خدمات المحتوى
  • مواقع النشر :
  • أضف محتوى في Digg
  • أضف محتوى في del.icio.us
  • أضف محتوى في StumbleUpon
  • أضف محتوى في Google


تقييم
1.00/10 (3 صوت)


Powered by Dimofinf cms Version 3.0.0
Copyright© Dimensions Of Information Inc.