سؤال

أعلم أنه يمكنني تعيين قيمة خصيصا لتطفو من خلال القيام به

float y = 4.5f;

أريد أن أفعل نفس الشيء، باستثناء بايت. كيف أقوم بهذا العمل؟ لقد راجعت وثائق MSDN ولا يمكن أن تجد أي شيء يتعلق بهذا. أيضا، ما يسمى هذا؟

شكرا،

يحرر

لوضوح الرمز الذي أستخدمه

byte myByte = a==b?1:0;

والخطأ الذي أحصل عليه هو

لا يمكن أن يحول ضمنيا نوع "int" إلى "بايت"؟ يوجد تحويل صريح (هل تفتقد صرفة؟)

المحلول

byte myByte = (byte)(a==b?1:0);
هل كانت مفيدة؟

المحلول

ال byte, sbyte, short و ushort لا تحتوي أنواع البيانات على لاحقات مخصصة. ومع ذلك، يمكن تعيين حرفي عدد صحيح لمتغيرات أنواع البيانات هذه وسيتم تحويلها ضمنا، على افتراض أن القيمة مناسبة للتخزين في المتغير. فقط للسجل هنا هي حرفي محددة في C #:

uint: U or u
long: L or l
ulong: UL or ul
float: F or f
decimal: M or m

نصائح أخرى

أود فقط استخدام المصبوب.

// Okay
Byte data = (Byte) 57;

// Error (but I don't know if it is a compiler error or a runtime error)
Byte data = (Byte) -17;

أو إدخال ثابت.

// Okay
const Byte foo = 57;
Byte data = foo;

// Compiler Error
const Byte foo = -17;
Byte data = foo;

وفق هذا المشنور, ، البايت ليس لديه مثل هذا لاحقة.

لا تحتاج لاحقة عند تحديد البايت:

   byte b = 1;

تحتاج فقط إلى التأكد من أن قيمتك بين 0 و 255.

تشير MSDN إلى استخدام F ك "لاحقة"، مما أجبر نوع حرفي.

انظر المقالة التالية في ج- حاد على الانترنت للمزيد من المعلومات

عرافة الرموز:

بايت ب = 0xFF؛

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top