تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] مشكلة في C#
#1
اعمل كمطور مواقع بتقنية 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 فما هي استخداماتهم !!
وشكرا لكم
الرد }}}
تم الشكر بواسطة:
#2
يتميز C# بالدقة، وأما VB ففيه تهاون ومساعدة مبالغ فيها لدرجة تعلم المبرمج الكسل.

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

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



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


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