Mirzo Ulug’bek nomidagi O’zbekiston Milliy Universiteti Jizzax filiali
Kompyuter ilmlari va dasturlashtirish kafedrasi
Algoritmik tillar va dasturlash
17-Maruza.Sanab o‘tiluvchi tur. Sanab o‘tiluvchi tur e’loni. Sanab o‘tiluvchi turning qo‘llanilishi.
17-Maruza.Sanab o‘tiluvchi tur. Sanab o‘tiluvchi tur e’loni. Sanab o‘tiluvchi turning qo‘llanilishi.
KUTILAYOTGAN NATIJA:
Reja:
1. Sanab o‘tiluvchi tur.
2. Sanab o‘tiluvchi tur e’loni.
3. Sanab o‘tiluvchi turning qo‘llanilishi.
Talabalarda fanga nisbatan qiziqish uyg’otish va mustaqil ta’lim olishga o’rgatish;
Tayanch iboralar: Kortej, Sanab o’tiluvchi tur
1. Sanab o‘tiluvchi tur.
Primitiv ma'lumotlar turlaridan tashqari, C# dasturlash tilida sanab o'tish kabi tur ham mavjud. Enumlar mantiqiy bog'liq konstantalar to'plamini ifodalaydi.
Enum operatori yordamida sanab e'lon qilinadi:
Enum operatoridan keyin enum nomi keladi. So’ng ro'yxatga olish konstantalari vergul bilan ajratilib, jingalak qavslar ichida keltiriladi.
enum DayTime
{
Morning,
Afternoon,
Evening,
Night
}
Bu to'rtta qiymatga ega bo'lgan DayTime enumini belgilaydi: ertalab, tushdan keyin, kechqurun va tun.
Har bir ro'yxatga olish haqiqatan ham yangi ma'lumotlar turini belgilaydi, uning yordamida biz, xuddi har qanday boshqa turdagi kabi, o'zgaruvchilarni, konstantalarni, metod parametrlarini va hokazolarni aniqlashimiz mumkin. Sanoqni ifodalovchi oʻzgaruvchi, doimiy va metod parametrining qiymati sanab oʻtilgan konstantalardan biri boʻlishi kerak.
const DayTime dayTime = DayTime.Morning;
class Program
{
enum DayTime
{
Morning,
Afternoon,
Evening,
Night
}
static void Main(string[] args)
{
DayTime dayTime = DayTime.Morning;
if (dayTime == DayTime.Morning)
Console.WriteLine(“Ertalabki salom");
else
Console.WriteLine(“Kun bo’yi salom");
}
}
static void PrintMessage(DayTime dayTime)
{
switch (dayTime)
{
case DayTime.Morning:Console.WriteLine("Доброе утро"); break;
case DayTime.Afternoon:Console.WriteLine("Добрый день");break;
case DayTime.Evening:Console.WriteLine("Добрый вечер");break;
case DayTime.Night:Console.WriteLine("Доброй ночи"); break;
}
}
static void DoOperation(double x, double y, Operation op)
{
double result = op switch
{
Operation.Add => x + y,
Operation.Subtract => x - y,
Operation.Multiply => x * y,
Operation.Divide => x / y
};
Console.WriteLine(result);
}
enum Operation
{
Add,
Subtract,
Multiply,
Divide
}
static void Main(string[] args)
{
DoOperation(10, 5, Operation.Add); // 15
DoOperation(10, 5, Operation.Subtract); // 5
DoOperation(10, 5, Operation.Multiply); // 50
DoOperation(10, 5, Operation.Divide); // 2
}
Enum konstantalarining turi va qiymatlari
Enum konstantalari turga ega bo'lishi mumkin. Tur sanab o'tilgan nomdan keyin ikki nuqta bilan ajratilgan holda ko'rsatiladi:
Sanoq turi butun son turini ifodalashi kerak (bayt, sbayt, qisqa, ushort, int, uint, uzun, ulong). Agar tur aniq ko'rsatilmagan bo'lsa, standart tur int bo'ladi.
Turi doimiylar ega bo'lishi mumkin bo'lgan qiymatlarga ta'sir qiladi. Odatiy bo'lib, ro'yxatdagi har bir elementga butun son qiymati beriladi, birinchi element 0, ikkinchisi 1 va hokazo. Masalan, yuqorida belgilangan DayTime ni oling:
enum Time : byte
{
Morning,
Afternoon,
Evening,
Night
}
static void Main(string[] args)
{
Time now = Time.Morning;
Console.WriteLine((int)now); // 0
Console.WriteLine((int)Time.Night); // 3
}
E’tiboringiz uchun rahmat! - E’tiboringiz uchun rahmat!
Do'stlaringiz bilan baham: |