تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس التاسع : ال Enumeration
#1
بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .

ما هو ال Enum ؟

اختصار ل enumerations - تحتوي على مجموعة من العناصر تمثل حالات وقيم مختلفة داخل البرنامج .

ابسط مثال على ال Enum هو استخدامها في حالة لموديلات السيارات ، لنفترض لدينا ثلاث انواع من السيارات ، Toyota ، Nissan واخيراً FIAT ، لو كنا نقوم بتخزينهم على شكل قيم 0 ، 1 و 2 في قاعدة البيانات مثلاً ، فإننا لا نريد ان نجبر المبرمج على ادخال رقم كل سيارة ، بل يمكنه ادخال اسمها والذي سيتم ترجمته لاحقاً إلى الرقم المناظر له .

C#:
كود :
enum cars
{
toyota=0,
nissan=1,
fiat=2
}

VB.net
كود :
Enum cars
    
    
    toyota = 0
    
    nissan = 1
    
    fiat = 2

VB.net:
كود :
Enum cars As Byte
    
    
    toyota = 0
    
    nissan = 1
    
    fiat = 2
    
End Enum

الآن يمكننا استخدام الاسماء الجديدة في البرمجة بدلاً من الارقام أو الرموز بما يكفل لنا سهولة الاستخدام ، لنفترض مثلاً اننا نريد برمجة دالة لعرض سعر اي سيارة بناء على اسم السيارة .

C#:
كود :
static void printPrice(cars mycar)
{
if (mycar == cars.fiat)
Console.WriteLine("20,000");
else if (mycar==cars.nissan)
Console.WriteLine("30,000");
else
Console.WriteLine("40,000");
}

VB.net:

كود :
Private Shared Sub printPrice(ByVal mycar As cars)
    
    If mycar = cars.fiat Then
        Console.WriteLine("20,000")
ElseIf mycar = cars.nissan Then
        Console.WriteLine("30,000")
    Else
        Console.WriteLine("40,000")
    
    End If


هكذا نجد اننا نستخدم اسماء واضحة رغم ان القيم الفعلية المخزنة هي من نوع byte .

اوضح ما يمكنك تخيله كفائدة لل enum هي دوال API الخاصة بالويندوز ، في الواقع انت ترسل بيانات مثل 00A127X للدوال ، لكن في الواقع تجد نفسك ترسل بعض الأسماء الواضحة مثل Local كدلالة لمتغير ما بدلاً من الرموز المعقدة والتي سيصعب عليك فهمها دون وجود قاموس لترجمة الرموز .
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الدرس الأول : تحميل .net 2008 ومميزات استخدامه oneyemenweb2 1 670 07-03-13, 02:04 AM
آخر رد: abdoojh
  اعلان - انتهاء الدورة - الدرس التاسع والسبعون -) RaggiTech 0 602 14-10-12, 11:23 PM
آخر رد: RaggiTech
  الدرس الثامن والسبعون - Ajax RaggiTech 2 875 14-10-12, 11:22 PM
آخر رد: RaggiTech
  الدرس السابع والسبعون - ASP.net وقواعد البيانات RaggiTech 2 910 14-10-12, 11:19 PM
آخر رد: RaggiTech
  الدرس السادس والسبعون - ASP.net - الجزء الثالث RaggiTech 7 1,160 14-10-12, 11:14 PM
آخر رد: RaggiTech
  الدرس الخامس والسبعون - ASP.net - الجزء الثاني RaggiTech 5 1,317 14-10-12, 11:07 PM
آخر رد: RaggiTech
  الدرس الرابع والسبعون - ASP.net RaggiTech 6 1,091 14-10-12, 10:58 PM
آخر رد: RaggiTech
  الدرس الثالث والسبعون - مقدمة إلى تطوير المواقع RaggiTech 4 850 14-10-12, 10:44 PM
آخر رد: RaggiTech
  الدرس الثاني والسبعون - مقدمة إلى Mono RaggiTech 0 596 14-10-12, 10:37 PM
آخر رد: RaggiTech
  الدرس الواحد والسبعون - XML Commenting RaggiTech 2 794 14-10-12, 10:35 PM
آخر رد: RaggiTech

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


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