منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] مشكلة في C# - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175)
+--- قسم : قسم اسئلة C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=176)
+--- الموضوع : [سؤال] مشكلة في C# (/showthread.php?tid=15494)



مشكلة في C# - NourAhmed - 15-04-16

اعمل كمطور مواقع بتقنية ASP.net واخيرا انتقلت من فيجوال بيسك دوت نت الى C#.

سؤالي هو لماذا لايمكن اجراء العمليات الحسابية على الانواع Byte - short سواء في الجافا او C#، نعم اعرف حل المشكلة لكني لا اعرف السبب العلمي لذلك.
على سبيل المثال تم تعريف 3 متغيرات من نوع short ولكن عند محاولة جمع قيمة المتغير x مع المتغير y واسناد الناتج الى المتغير z يظهر الخطا التالي:
;short x = 1, y = 1
short z = x + y; // Compile-time error
واذا كان لايتم استخدام المتغيرات من النوع Byte و Short فما هي استخداماتهم !!
وشكرا لكم


RE: مشكلة في C# - derham - 15-04-16

يتميز C# بالدقة، وأما VB ففيه تهاون ومساعدة مبالغ فيها لدرجة تعلم المبرمج الكسل.

Short هو System.Int16 وByte هو System.Byte أي System.Byte8 إن صح التعبير

(على حد علمي) يستخدم C# لناتج العملية الحسابية في C# أقل شي int أي (System.Int32) ، لهذا السبب إذا كنت تريد اسناد ناتج لأقل من int فلا بد من تحويل الناتج مثل
PHP كود :
short z = (short)(y);