C# enumlar


ULASHISH

C# enumlar

enum — konstantalar (o‘zgarmas/faqat o‘qiladigan o‘zgaruvchilar) guruhini ifodalovchi maxsus "sinf".

enum yaratish uchun (class yoki interface o‘rniga) enum kalit so‘zidan foydalaning va enum elementlarini vergul bilan ajrating:

Misol

enum Level 
{
  Low,
  Medium,
  High
}

enum elementlariga nuqta sintaksisi orqali murojaat qilishingiz mumkin:

Level myVar = Level.Medium;
Console.WriteLine(myVar);
O‘zingiz sinab ko‘ring »

Enum — "enumerations" so‘zining qisqartmasi bo‘lib, "aniq sanab o‘tilgan" degan ma’noni anglatadi.


Sinf ichidagi enum

enum’ni sinf ichida ham e’lon qilishingiz mumkin:

Misol

class Program
{
  enum Level
  {
    Low,
    Medium,
    High
  }
  static void Main(string[] args)
  {
    Level myVar = Level.Medium;
    Console.WriteLine(myVar);
  }
}

Natija quyidagicha bo‘ladi:

Medium
O‘zingiz sinab ko‘ring »


Enum qiymatlari

Sukut bo‘yicha enumning birinchi elementi 0 qiymatiga ega. Ikkinchisi 1 qiymatiga ega va hokazo.

Elementdan butun son qiymatini olish uchun elementni int’ga oshkor ravishda o‘zgartirishingiz kerak:

Misol

enum Months
{
  January,    // 0
  February,   // 1
  March,      // 2
  April,      // 3
  May,        // 4
  June,       // 5
  July        // 6
}

static void Main(string[] args)
{
  int myNum = (int) Months.April;
  Console.WriteLine(myNum);
}

Natija quyidagicha bo‘ladi:

3
O‘zingiz sinab ko‘ring »

Enumga o‘z qiymatlaringizni ham berishingiz mumkin, keyingi elementlarning raqamlari esa shunga mos ravishda yangilanadi:

Misol

enum Months
{
  January,    // 0
  February,   // 1
  March=6,    // 6
  April,      // 7
  May,        // 8
  June,       // 9
  July        // 10
}

static void Main(string[] args)
{
  int myNum = (int) Months.April;
  Console.WriteLine(myNum);
}

Natija quyidagicha bo‘ladi:

7
O‘zingiz sinab ko‘ring »

switch operatorida enum

Enumlar ko‘pincha mos qiymatlarni tekshirish uchun switch operatorlarida ishlatiladi:

Misol

enum Level 
{
  Low,
  Medium,
  High
}

static void Main(string[] args) 
{
  Level myVar = Level.Medium;
  switch(myVar) 
  {
    case Level.Low:
      Console.WriteLine("Low level");
      break;
    case Level.Medium:
       Console.WriteLine("Medium level");
      break;
    case Level.High:
      Console.WriteLine("High level");
      break;
  }
}

Natija quyidagicha bo‘ladi:

Medium level
O‘zingiz sinab ko‘ring »

Nima uchun va qachon enumlardan foydalanish kerak?

O‘zgarmasligini biladigan qiymatlaringiz bo‘lganda, masalan, oy kunlari, hafta kunlari, ranglar, karta dastasi va h.k. uchun enumlardan foydalaning.



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!