C# для начинающих Пахомов Б. И



Download 8,15 Mb.
Pdf ko'rish
bet84/266
Sana20.04.2022
Hajmi8,15 Mb.
#567200
1   ...   80   81   82   83   84   85   86   87   ...   266
Bog'liq
C# for beginners


Часть I. Базовые сведения о программировании на языке C# 
// В качестве параметра функции — переменная days типа 
// "перечисление" 
static void WriteText(DaysOfWeek days) 

switch (days) // Обработка значений переменной days 

case DaysOfWeek.Monday: 
Console.WriteLine("Понедельник"); 
break; 
case DaysOfWeek.Tuesday: 
Console.WriteLine("Вторник"); 
break; 
case DaysOfWeek.Wednesday: 
Console.WriteLine("Среда!"); 
break; 
case DaysOfWeek.Thursday: 
Console.WriteLine("Четверг"); 
break; 
case DaysOfWeek.Friday: 
Console.WriteLine("Пятница"); 
break; 
case DaysOfWeek.Saturday: 
Console.WriteLine("Суббота"); 
break; 
case DaysOfWeek.Sunday: 
Console.WriteLine("Завтра — понедельник"); 
break; 
} // switch 
} // WriteText 


Результат показан на рис. 7.4. 
Итак, видим, что перечисления улучшают наглядность текста программы. 
Рис. 7.4. 
Обработка перечисления оператором 
switch


Глава 7. Работа с датами и перечислениями 
133 
Типы перечислений как битовые флаги 
Тип перечисления можно использовать для определения значений от-
дельных двоичных разрядов в переменной типа 
int
(еще говорят: для 
определения битовых флагов). Дело в том, что биты давно используют-
ся программистами для задания состояний различных объектов. Напри-
мер, если нулевой бит некоторой переменной равен единице, то пусть 
это означает, что свет в комнате включен, а ноль — свет выключен. Та-
кой бит, отражающий некоторое состояние, называют 
флагом
. И про-
блема состоит в том, как спуститься на уровень битов переменной, как 
выделить значение одного бита или группы битов. А если вы и выдели-
ли некий бит, то надо постоянно помнить, что пятый бит означает то-то, 
8-й — то-то и т. д. Это создает определенные неудобства программисту. 
Если же использовать перечислительные типы, то можно этим битам-
флажкам присвоить обычные наименования и работать с ними. Ведь 
экземпляр типа "перечисление" может хранить любую комбинацию 
значений, определенных в списке перечислителя. 
Если перед перечислением поставить атрибут 
[Flags()]
, то мы сможем 
работать с таким перечислением как с набором битов. В частности, мы 
сможем применять битовые операции. Программа, использующая бито-
вые флажки, приведена в листинге 7.4. 
Листинг 7.4 
/* Created by SharpDevelop. 
* User: user 
* Date: 23.11.2012 
* Time: 16:43 

* To change this template use Tools | Options | Coding | 
* Edit Standard Headers. */ 
using System; 
namespace app20_flags 

class Program 

[Flags()] 
public enum MilitaryType // Тип используемого 
// вооружения 

Marine = 1, 


134 
Download 8,15 Mb.

Do'stlaringiz bilan baham:
1   ...   80   81   82   83   84   85   86   87   ...   266




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish