0Pricing
C# Academy · درس

الأنواع الرقمية

int وdouble وdecimal وغيرها

الأنواع الرقمية درس مجاني في C# Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C# Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C# Academy 4 دروس في المجموع.

أهمية الأنواع الرقمية

يوفّر C# عدة أنواع رقمية، يخزّن كل منها نطاقًا مختلفًا من القيم ويستخدم مقدارًا مختلفًا من الذاكرة.

يساعد اختيار النوع المناسب على إبقاء برامجك صحيحة وفعّالة. فالعدد الصحيح مثل عدد المستخدمين يناسبه int، بينما يحتاج السعر إلى أرقام عشرية.

ستتعرّف في هذا الدرس على الأنواع الصحيحة وأنواع الفاصلة العائمة والأنواع العشرية.

أنواع الأعداد الصحيحة

تخزّن الأعداد الصحيحة أعدادًا كاملة من دون جزء كسري.

  • int — ‏32 بت، وهو الخيار الافتراضي المعتاد
  • long — ‏64 بت، للأعداد الكبيرة جدًا
  • short وbyte — نطاقات أصغر

استخدم int ما لم تكن القيمة قد تتجاوز نحو ملياريْن.

int age = 30;
long population = 8000000000;
Console.WriteLine(age);
Console.WriteLine(population);

نطاقات الأعداد الصحيحة

لكل نوع من الأعداد الصحيحة قيمتان ثابتتان دنيا وقصوى. ويمكنك قراءتهما باستخدام int.MaxValue وثوابت مشابهة.

يؤدي تجاوز القيمة القصوى إلى overflow، حيث تلتف القيمة حول نطاقها بصمت.

Console.WriteLine(int.MinValue);
Console.WriteLine(int.MaxValue);
Console.WriteLine(long.MaxValue);

الفاصلة العائمة: double

إن double نوع من أنواع الفاصلة العائمة بحجم 64 بت، ويُستخدم للأعداد الحقيقية التي تحتوي على كسور عشرية.

وهو النوع الافتراضي للقيم الحرفية الكسرية، لذلك تُعدّ 3.14 قيمة من نوع double. وهو سريع وممتاز للعلوم والرسومات، لكنه يخزّن القيم بصورة تقريبية.

double pi = 3.14159;
double half = 1.0 / 2.0;
Console.WriteLine(pi);
Console.WriteLine(half);

الفاصلة العائمة: float

إن float نوع من أنواع الفاصلة العائمة بحجم 32 بت. ويستخدم نصف الذاكرة التي يستخدمها double، لكنه يستوعب عددًا أقل من الخانات.

تحتاج القيمة الحرفية من نوع float إلى اللاحقة f، مثل 2.5f، وإلا فسيتعامل C# مع العدد على أنه من نوع double.

float temperature = 21.5f;
float ratio = 0.1f;
Console.WriteLine(temperature);
Console.WriteLine(ratio);

أموال دقيقة: decimal

إن decimal نوع بحجم 128 بت، صُمّم لـالأموال والقيم العشرية الدقيقة. وهو يتجنب أخطاء التقريب الصغيرة التي قد ينتجها double.

تستخدم القيمة الحرفية من نوع decimal اللاحقة m، مثل 9.99m. استخدمه للأسعار والخدمات المصرفية والمحاسبة.

decimal price = 9.99m;
decimal tax = 0.08m;
Console.WriteLine(price + price * tax);

double مقابل decimal

لاحظ كيف يمكن أن ينتج double نتيجة غير متوقعة، بينما يحافظ decimal على الدقة.

ولهذا تفضّل الشيفرة المالية استخدام decimal رغم أنه أبطأ من double.

double d = 0.1 + 0.2;
decimal m = 0.1m + 0.2m;
Console.WriteLine(d);
Console.WriteLine(m);

استنتاج النوع باستخدام var

تتيح الكلمة المفتاحية var للمصرّف استنتاج النوع من القيمة الموجودة على اليمين.

ومع ذلك، يظل للمتغير نوع ثابت؛ فالتعبير var count = 5; ينشئ متغيرًا من نوع int. وتحدد اللواحق النوعَ للقيم الحرفية الكسرية.

var count = 5;
var pi = 3.14;
var price = 9.99m;
Console.WriteLine(count.GetType());
Console.WriteLine(price.GetType());

فواصل الأرقام

لتحسين قابلية القراءة، يمكنك وضع شرطات سفلية بين الخانات في أي قيمة حرفية رقمية. ويتجاهل المصرّف هذه الشرطات السفلية.

وهذا يجعل قراءة الأعداد الكبيرة أسهل بكثير من النظرة الأولى.

int million = 1_000_000;
long distance = 9_460_730_472_580_800;
Console.WriteLine(million);
Console.WriteLine(distance);

قيم double الخاصة

يمكن لـdouble تمثيل قيم خاصة: اللانهاية الموجبة والسالبة، وNaN (ليس رقمًا).

يؤدي القسمة على الصفر باستخدام قيم double إلى اللانهاية بدلًا من حدوث خطأ، بينما تؤدي القسمة الصحيحة على الصفر إلى طرح استثناء.

double inf = 1.0 / 0.0;
double nan = 0.0 / 0.0;
Console.WriteLine(inf);
Console.WriteLine(nan);

اختيار النوع المناسب

إليك دليلًا سريعًا:

  • الأعداد الكاملة ← int (أو long إذا كانت ضخمة)
  • الأعداد العشرية العلمية أو العامة ← double
  • الأموال والقيم الدقيقة ← decimal

يساعد الاختيار الجيد على منع أخطاء تجاوز السعة وأخطاء التقريب.

تحقق سريع

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

مراجعة

تعلّمت الأنواع الرقمية الأساسية في C#: يستخدم int وlong للأعداد الكاملة، وdouble وfloat للأعداد ذات الفاصلة العائمة، بينما يُستخدم decimal للقيم المالية الدقيقة.

تذكّر لواحق القيم الحرفية: f لـ float، وm لـ decimal، والشرطات السفلية لتحسين قابلية القراءة. اختر الأنواع لتحقيق توازن بين النطاق والدقة واستهلاك الذاكرة.

الأسئلة الشائعة

هل درس «الأنواع الرقمية» مجاني؟

نعم — نص درس «الأنواع الرقمية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 4 دروس في المجموع.

ماذا ستتعلم في «الأنواع الرقمية»؟

int وdouble وdecimal وغيرها تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟

لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «الأنواع الرقمية»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟

نعم. كل درس في C# Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. الأنواع الرقمية
  2. الحساب وأولوية العوامل
  3. الفئة Math
  4. التحويل بين الأعداد
← العودة إلى C# Academy