Читать «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» онлайн - страница 25
Эндрю Троелсен
Тип структуры
Понятие структуры в CTS также формализовано. Если вы знаете C, вам будет приятно узнать, что эти пользовательские типы "выжили" и в мире .NET (хотя внутренне они ведут себя немного по-иному). Упрощенно говоря,
// Тип структуры C#.
struct Point {
// Структуры могут содержать поля.
public int xPos, yPos;
// Структуры могут содержать параметризованные конструкторы.
public Point (int x, int у) {xPos = x; yPos = y;}
// Структуры могут определять методы.
public void Display() {
Console.WriteLine("({0}, {1})", xPos, yPos);
}
}
Тип интерфейса
// Тип интерфейса C#.
public interface IDraw {
void Draw ();
}
Сами по себе интерфейсы не очень полезны. Однако, когда класс или структура реализуют данный интерфейс своим собственным уникальным образом, вы можете запросить доступ к соответствующим функциональным возможностям, используя ссылку на интерфейс в полиморфной форме. Программирование на базе интерфейсов будет рассматриваться в главе 7.
Тип перечня
// Тип перечня C#.
public enum CharacterType {
Wizard = 100,
Fighter = 200,
Thief = 300
}
По умолчанию для каждого элемента выделяется блок памяти, соответствующий 32-битовому целому, но при необходимости это значение можно изменить (например, в случае программирования для устройств с малыми объемами памяти, таких как КПК). Спецификации CTS предполагают, что типы перечня должны "получаться" из общего базового класса, System.Enum. Из главы 3 вы узнаете, что этот базовый класс определяет ряд весьма полезных членов, которые позволяют программно извлекать, обрабатывать и преобразовывать соответствующие пары "имя-значение".