000123. Блочные конструкции. Перечисления
Last updated
Last updated
Блочные конструкции. Перечисления||wmysterio|wmysterio|wmysterio@yandex.ru|||Всем привет! Мы немного уйдёт от темы скриптинга GTA 4 и немного поговорим о c# как язык программирования. Этот урок я хотел бы посвятить перечислениям. Они же enum. Эта конструкция являет собой сборку данных, как правило одного типа. Объявляются они следующим образом:
enum День { / строки перечисления / } |
Каждый элемент может иметь своё значение, причём тип данных не указывается. Мы можем хранить строку одного типа, а другая может быть вовсе другой. Между этими строками ставится запятая. Вот неплохой пример:
enum День { Понедельник = 0, Вторник = 1, Среда = 2, Четверг = 3, Пятница = 4, Суббота = 5, Восресенье = 6 } |
Обращение к элементам перечисления такое же, как и у структуры:
День.Пятница |
Но главное отличие от структуры в том, что мы можем явно указывать значение в конструкции, но не можем этого сделать в теле программы. Это можно сравнить с константами - мы жестко закрепляем значение перечисления в блоке и можем только прочитать данные, что в нём находятся. Ещё отличается перечисление от структуры тем, что мы можем указывать в качестве значения только следующие типы данных:
byte, sbyte, short, ushort, int, uint, long или ulong |
То есть нельзя указать класс, структуру, массив или ещё какой-то тип данных, но для этого перечисления не созданы. Возникает вопрос - "Как распознать перечисление от той же структуры?" Распознать очень легко. Если вы пользуетесь редакторами типа Visual Studio, то это не составит труда. Как правило обозначаются перечисления следующим значком: Каким-же образом получить данные? Так как Enum вмещает произвольные данные, то нам необходимо преобразовать значение под нужный тип. Делается это по следующей формуле:
Тип Переменная = (Тип)Выражение; |
В нашем случаи это так:
int i = (int)День.Вторник; |
Выражение в скобках указывает в кокой тип данных будет идти преобразование. После скобки ")" указываем что конкретно мы будем преобразовать. Такое преобразование следует делать только в том случаи, если вы наверняка знаете какой тип находится в поле перечисления
Важно! Как правило имя перечисления и его поля задают латинскими символами. У меня получилось скомпилировать код с кирилицей, но всё же лучше перестраховаться.|496|1|0|39559150png
19`20||blochnye_konstrukcii_perechislenija|1392798790