مشكلة في الجافا و C#

اعمل كمطور مواقع بتقنية 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 فما هي استخداماتهم !!

وشكرا لكم


short z = x + y; // Error: no conversion from int to short

To fix this problem, use a cast:

short z = (short)(x + y); // OK: explicit conversion

شكرا لك صديقي انا ذكرت اني اعرف الاجابة مسبقا ولكني اريد ان اعرف سبب هذه المشكلة على العموم شكرا لك لمحاولة مساعدتي