![]() |
|
[سؤال] مشكلة في 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)(x + y); |