1-Mavzu: Kortejlar. Sanab o’tiluvchi tur


Ro'yxatga olish konstantalarining turi va qiymatlari


Download 28.2 Kb.
bet4/5
Sana09.02.2023
Hajmi28.2 Kb.
#1179975
1   2   3   4   5
Ro'yxatga olish konstantalarining turi va qiymatlari. Ro'yxatga olish konstantalari turdagi bo'lishi mumkin. Tur ikki nuqta bilan ajratilgan sanab nomidan keyin ko'rsatiladi:
enum Time : byte
{
Morning,
Afternoon,
Evening,
Night
}

Ro'yxatga olish turi, albatta, butun son turini ifodalashi kerak (byte, sbyte, short, ushort, int, uint, long, ulong). Agar tur aniq ko'rsatilmagan bo'lsa, boshlang`ich bo'yicha int turi ishlatiladi.


Turi doimiylar ega bo'lishi mumkin bo'lgan qiymatlarga ta'sir qiladi. Odatiy bo'lib, raqamlashning har bir elementiga butun son qiymati beriladi, birinchi element 0, ikkinchisi 1 va hokazo. Masalan, yuqorida belgilangan DayTime ni olaylik:
DayTime now = DayTime.Morning;
Console.WriteLine((int) now); // 0
Console.WriteLine((int) DayTime.Night); // 3
enum DayTime
{
Morning,
Afternoon,
Evening,
Night
}

Sanoq konstantasining butun qiymatini olish uchun cast operatsiyasidan foydalanishimiz mumkin:


(int) DayTime.Night // 3

Shu bilan birga, har bir konstanta ma'lum bir raqamga ko'rsatilganiga qaramay, biz unga raqamli qiymat bera olmaymiz:


DayTime now = 2; // ! Xato

Bundan tashqari, elementlarning qiymatlarini aniq belgilashingiz yoki birinchi elementning qiymatini belgilashingiz mumkin:


enum DayTime
{
Morning = 3, // har bir keyingi element dastlabki holat bo'yicha bittaga oshiriladi
Afternoon, // bu element 4 ga teng
Evening, // 5
Night // 6
}

Ammo siz barcha elementlar uchun qiymatlarni aniq belgilashingiz mumkin:


enum DayTime
{
Morning = 2,
Afternoon = 4,
Evening = 8,
Night = 16
}

Bunday holda, sanab o'tish konstantalari bir xil qiymatlarga ega bo'lishi mumkin yoki hatto bir konstantaga boshqa konstantaning qiymatini belgilashingiz mumkin:


enum DayTime
{
Morning = 1,
Afternoon = Morning,
Evening = 2,
Night = 2
}



Download 28.2 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling