Создание и использование структур в С#

Автор: Topol Пятница, Июнь 8th, 2012 Нет комментариев

Рубрика: Программирование

Структуры — это облегченная версия классов:

  • Создавая структуры, нет необходимости объявлять конструктор по умолчанию (без аргументов).
  • Структуры, в отличие от классов, не поддерживают наследование.

Классы стоит заменять структурами тогда, когда создается простой объект небольших объемов. Такой способ создания объектов, наряду с перечислениями, делает код удобным для понимания человеком. Структуры объявляются с помощью ключевого слова struct.
С точки зрения логики использования структура представляет собой группу связанных между собой переменных. Под связанностью имеется в виду логическая связанность в рамках конкретной задачи. Например, структура «Сотрудник», объединяющая переменные «ФИО», «Отдел»,  «Должность», «Зарплата».  Эти переменные называют полями данных.
struct Sotrudnik
{
public string fio;
public string otdel;
public string dolgns;
public double zp;
}

При использования полей структуры имя структуры (Sotrudnik) воспринимается как тип данных. Необходимо создать новый объект этого типа данных (sotr1), и поля структуры использовать в качестве свойств этого объекта, задавая им конкретные значения:
Sotrudnik sotr1;
sotr1.fio = «Бережнов Федор Ммихайлович»;
sotr1.otdel = «Логистика»;
sotr1.dolgns = «Начальник склада»;
sotr1.zp = 15000;

Теперь выведем значения на экран. Пользователь увидит фразу: «Бережнов Федор Михайлович из отдела Логистика в должности Начальник склада получает 15000 руб.»

string str = sotr1.fio + » из отдела » + sotr1.otdel + » в должности » + sotr1.dolgns + » получает » + sotr1.zp + «руб. «;
MessageBox.Show(str);

Немного усложним структуру и включим в нее конструктор. Структура становится более похожей на класс:
struct Sotrudnik
{
private string fio;
private double zp;

  public Sotrudnik (string f, double z)
{
this.fio = f;
this.zp = z;
}

  public override string ToString()
{
return System.String.Format(«Информация о сотруднике: {0} ФИО ,{1} ЗП», fio, zp);
}
}

Как и при создании классов в си шарп, имя конструктора совпадает с именем структуры. Еще раз обращаем внимание на отсутствие конструктора по умолчанию: мы сразу же придали ему аргументы. Кроме того, добавился переопределенный («перегруженный») метод ToString. Перегрузка метода заключается в том, что мы назначили новое действие существующему методу, то есть переопределили его. Теперь, по вызову метода ToString() будет происходит не конвертация в строковый формат, а вывод на экран.

Источник: cisharp.com

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты