1-Mavzu: Kortejlar. Sanab o’tiluvchi tur
Ro'yxatga olish konstantalarining turi va qiymatlari
Download 28.2 Kb.
|
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: |
ma'muriyatiga murojaat qiling