تحويلات التعداد وتحليله
حوّلوا بين التعدادات والأعداد الصحيحة والسلاسل النصية
تحويلات التعداد وتحليله درس مجاني في C# Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C# Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C# Academy 4 دروس في المجموع.
التعداد إلى عدد صحيح
حوّل التعداد إلى نوعه الأساسي باستخدام (int) للحصول على قيمته الرقمية.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
int n = (int)Level.High;
Console.WriteLine(n);
}
}العدد الصحيح إلى تعداد
حوّل العدد مرة أخرى إلى نوع التعداد. ولا يلزم أن تكون القيمة عضوًا معرّفًا، لذا تحقّق منها عند الحاجة.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Level l = (Level)2;
Console.WriteLine(l);
}
}التحقق باستخدام IsDefined
تؤكد Enum.IsDefined أن عددًا أو اسمًا يقابل عضوًا حقيقيًا قبل الوثوق به.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Console.WriteLine(Enum.IsDefined(typeof(Level), 1));
Console.WriteLine(Enum.IsDefined(typeof(Level), 9));
}
}التعداد إلى سلسلة نصية
تعيد ToString اسم العضو، وهو مفيد للعرض والتسجيل.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Console.WriteLine(Level.Medium.ToString());
}
}التحليل من سلسلة نصية
تحوّل Enum.Parse اسمًا إلى قيمة تعداد مرة أخرى، لكنها ترمي استثناءً إذا كان الاسم غير صالح.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Level l = (Level)Enum.Parse(typeof(Level), "High");
Console.WriteLine(l);
}
}التحليل العام
يتجنب الشكل العام Enum.Parse<T> التحويل اليدوي ويجعل الشيفرة أوضح.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Level l = Enum.Parse<Level>("Medium");
Console.WriteLine(l);
}
}التحليل الآمن باستخدام TryParse
تعيد Enum.TryParse قيمة منطقية عند النجاح بدلًا من رمي استثناء، مما يجعلها أكثر أمانًا مع إدخالات المستخدم.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
if (Enum.TryParse<Level>("Low", out var result))
Console.WriteLine("Parsed: " + result);
}
}معالجة الإدخال غير الصالح
عند فشل التحليل، تعيد TryParse القيمة false، مما يتيح لك الاستجابة بطريقة ملائمة.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
bool ok = Enum.TryParse<Level>("Unknown", out var result);
Console.WriteLine(ok ? result.ToString() : "Invalid input");
}
}التحليل غير الحساس لحالة الأحرف
مرر true لتجاهل حالة الأحرف عند تحليل النص الذي يقدمه المستخدم.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Level l = Enum.Parse<Level>("high", true);
Console.WriteLine(l);
}
}يتفوق TryParse على IsDefined في تحليل الأسماء
عند تحليل الأسماء، يتولى TryParse التحقق والتحويل معًا في استدعاء واحد.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
string input = "Medium";
if (Enum.TryParse<Level>(input, out var lvl) && Enum.IsDefined(typeof(Level), lvl))
Console.WriteLine("Valid: " + lvl);
}
}التحويلات ذهابًا وإيابًا
يمكنك تحويل التعداد إلى int ثم إعادته، أو تحويله إلى سلسلة نصية ثم إعادته، ما دامت القيم صالحة.
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Level start = Level.High;
int num = (int)start;
Level back = (Level)num;
Console.WriteLine(start == back);
}
}تحقق سريع
اختبر معرفتك بتحويلات التعداد وتحليله.
مراجعة
حوّل بين التعداد وعدده الصحيح الأساسي باستخدام (int) و(EnumType)، واستخدم Enum.IsDefined للتحقق. وتعيد ToString اسم العضو.
حلّل الأسماء لإعادتها إلى قيم باستخدام Enum.Parse<T> (يرمي استثناءً) أو Enum.TryParse<T> الأكثر أمانًا (يعيد قيمة منطقية)، مع إمكانية تجاهل حالة الأحرف.
الأسئلة الشائعة
هل درس «تحويلات التعداد وتحليله» مجاني؟
نعم — نص درس «تحويلات التعداد وتحليله» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 4 دروس في المجموع.
ماذا ستتعلم في «تحويلات التعداد وتحليله»؟
حوّلوا بين التعدادات والأعداد الصحيحة والسلاسل النصية تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟
لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «تحويلات التعداد وتحليله»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟
نعم. كل درس في C# Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تعريف التعدادات واستخدامها
- تعدادات Flags والدمج على مستوى البت
- تحويلات التعداد وتحليله
- التكرار على قيم التعداد