التحويلات بين أنواع المُتغيرات


قد تكون هذه التدوينة من التدوينات المُتقدمة بالنسبة لشخص مُبتدئ فى البرمجة ، فأنا أريدك أن تتعرف على هذا القسم وتدرسه جيدًا وحتى وإن لم تفهم ما أهميته أو ما الفرض منه لأننا سنتطرق إلى ذلك فى الفصول المُتقدمة ؛ لكى يكون التطبيق العملى عليها ومعرفة أهميتها حينئذٍ.
كما هو واضح من اسم التدوينة فإن تحويل المُتغيرات ، يعنى التحويل بين أنواع المُتغيرات المُختلفة ، وكما ذكرت آنفًا سيتم التعرف على فائدتها وأهميتها فى الفصول المُتقدمة عند التطبيق عليها.
يوجد نوعان من التحويل لأنواع المُتغيرات المُختلفة:
1-                                                         Widening Conversions
وهو التحويل من الأنواع الصغيرة إلى الأنواع الكبيرة ؛ لذلك لا يتم خسارة أى شيء من البيانات من خلالها.
مثال على ذلك: التحويل كم Short إلى Integer أو التحويل من Integer إلى Decimal.
2-                                                         Narrowing Conversions
وهو التحويل المُباشر الذى يُمكن فيه خسارة بعض البيانات ، وهذا النوع يقوم بالتحويل من الكبير إلى الصغير أو العكس ، بمعنى أنه عند التحويل من الصغير إلى الكبير لا يتم فقد بيانات مثل ما فى النوع Widening ، وفى حالة التحويل من الكبير إلى الصغير ، يتم فقد البيانات إذا كان حجم بيانات الكبير لا يستوعبه النوع الصغير ، فيُخزن فى الصغير أكبر كمية يستطيع إدخالها من البيانات من الكبير ، أما إذا كان حجم البيانات المُدخلة فى الكبير يستطيع أن يستوعبه الصغير كاملاً فلا يحدث فقد للبيانات.
( راجع الفقرة السابقة جيدًا مرة أخرة ، وكرر قراءتها أكثر من مرة )
فى الفقرة السابقة تكلمنا عن تعريف الفرق بين النوعين widening  ، و Narrowing ، أما هنا فسوف نتكلم عن كيفية التحويل باستخدام أنواع التحويل السابقة.


Widening Conversions
التحويل عن طريق هذا النوع يكون بإستخدام الدالة Power() وبين القوسين نضع المُتغير المُراد تحويله.
مُقتبس (________________________________________
مثال:
Dim x As Short = 5
Power(x)
والآن سُنظهر الكود الخاص بالدالة Power أىّ الكود الذى تنفذه الدالة على المُتغيرات ، وبمعنى آخر سنستعرض الكود الأساسى لوظيفة الدالة Power.




Private Function power(ByVal number As Integer) As Integer
    Return number Xor 2
End Function
لو لاحظت أن الدالة تستقبل بيانات من النوع Integer فيما أرسلنا لها بيانات من النوع Short ، فى هذه الحالة لن تكون هناك مُشكلة لأن مدى Integer أكبر من مدى Short (أىّ مدى كمية استيعاب البيانات) ، لذا فإن أى مدى Short   يقع تحت مدى Integer.
___________________________________________ (
كان النص الماضى من كتاب "خطوة بخطوة مع البرمجة من خلال Visual Studio 2008 بإستخدام VB.net & C#" للمبرمج المعروف أحمد جمال خليفة.
Narrowing Conversion
هذه العمليات من تحويل أنواع البيانات تُسمى الـCast ، وطريقة التحويل بها سهل جدًا.
Ctype(variable)
فى المثال السابق نقوم بكتابة حرف C ثُم نبدل type بنوع المُتغير الذى نود التحويل إليه ، وبدلاً من variable نقوم بكتابة اسم المُتغير الذى نريد أن يتم تحويله.
مثال:
Cstr(name)
فى المثال السابق قُمت بتحويل المُتغير name إلى النوع String بإضافة C ثم النوع الذى أود تحويل المُتغير name إليه ، ألا وهو النوع String. وعند تجربتك ستجد أن معظم الأنواع التى تريد التحويل إليها تكتب أول ثلاثة أحرف فيها. وهذه ليست قاعدة عامة ولكن فى المعظم.
وأنت تستطيع أن تقوم بالتجربة.
يوجد أيضًا التحويل باستخدام convert وطريقة استخدامها كالآتى
كتابة convert ثم نقطة "." وستعرض لك جميع أنواع المُتغيرات ، ولكن تسبقها TO ، فمثلاً أريد تحويل المُتغير name إلى النوع Decimal باستخدام Convert فيكون الكود كالتالى:
Convert.ToDecimal(name)
هكذا نكون قد إنتهينا من كُل ما يخص التحويل بين أنواع المُتغيرات.

لا تعليقات على : "التحويلات بين أنواع المُتغيرات"

إرسال تعليق