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

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

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

Классы в С# (си шарп) стоит заменять структурами тогда, когда создается простой объект небольших объемов. Такой способ создания объектов, наряду с перечислениями, делает код удобным для понимания человеком. Структуры объявляются с помощью ключевого слова 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() будет происходит не конвертация в строковый формат, а вывод на экран.

. структура си шарп
. структура си шарп
Комментирование и размещение ссылок запрещено.