![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Лекция 6. Структуры и перечисления
План: 1. Структуры 2. Перечисления Структуры Структуры в C# практически ничем не отличаются от структур в любом другом языке. Отличия наблюдаются лишь на более низком уровне. В основном это касается того, что для структур в C# не существует базового класса. Но в то же время структуры являются производными от типа ValueType. Структура – это набор зависимых друг от друга переменных. Зависимость здесь исключительно логическая и определяется условиями задачи. Пример. Программа, печатающая справки для студентов. Все справки имеют один и тот же вид и текст, кроме следующих полей: ФИО, форма обучения, курс, факультет. Это зависимые данные и их можно представить в виде структуры, например так: Наша структура называется STUDENT и имеет четыре поля. После того как структура объявлена, мы можем с ней работать. static void Main(string[] args) { STUDENT stud; stud.fio = " Нгуен Павел Зунгович"; stud.FormOfEducation = " очного"; stud.course = 3; stud.faculty = " электроэнергетического"; Console.WriteLine(" СПРАВКА подтверждает, что " + stud.fio + " является студентом " + stud.FormOfEducation + " отделения ВоГТУ " + stud.course + " курса " + stud.faculty + " факультета"); Console.Read(); } Передавать такие данные удобно, т.к. они являются одним объектом. В частности можно передавать структуры в качестве параметров функциям. Усовершенствуем нашу программу, написав отдельную функцию для печатания справок: static void print(STUDENT stud) { Console.WriteLine(" СПРАВКА подтверждает, что " +stud.fio + " является студентом " + stud.FormOfEducation + " отделения ВоГТУ " + stud.course+" курса " + stud.faculty + " факультета"); } В качестве параметра мы передаем структуру типа STUDENT. Кроме переменных структуры могут иметь конструкторы и методы. Правда для структур нельзя переопределить конструктор по умолчанию, т.е. тот, который не получает никаких параметров. Конструкторы структур ничем не отличаются от конструкторов классов, поэтому не будем разжевывать этот аспект, а лишь рассмотрим простой пример: struct STUDENT { public string fio; public string FormOfEducation; public int course; public string faculty; public STUDENT (string name) { this.fio = name; this.FormOfEducation = " Неопределено"; this.course = 0; this.faculty = " Неопределено"; } } static void Main(string[] args) { STUDENT stud = new STUDENT(" Нгуен Павел Зунгович"); print(stud); Console.Read(); }
|