Новые темы · Пользователи · Правила форума · Поиск · RSS
  • Страница 1 из 1
  • 1
Форум » Раздел для разработчиков » Программирование » C# » Структуры в C# | Си-шарп
Структуры в C# | Си-шарп
ShadowHackerДата: 26.10.2019, 20:10 | Сообщение №1
Подполковник
Группа: Главный Админ
Сообщений: 768
Награды: 0
Репутация: 3
Статус: Не в сети
В этом небольшом уроке мы поговорим об альтернативе классам - структурах.

Структура – это более простая версия классов. Все структуры наследуются от базового класса System.ValueType и являются типами значений, тогда как классы - ссылочные типы. Структуры отличаются от классов следующими вещами:

- Структура не может иметь конструктора без параметров (конструктора по умолчанию);
- Поля структуры нельзя инициализировать, кроме случаев, когда поля статические.
private int x = 0; // в структуре недопустимо;
- Экземпляры структуры можно создавать без ключевого слова new;
- Структуры не могут наследоваться от других структур или классов. Классы не могут наследоваться от структур. Структуры могут реализовывать интерфейсы;
- Так как структуры это типы значений, они обладают всеми свойствами подобных типов (передача в метод по значению и т.д.), в отличии от ссылочных типов;
- Структура может быть nullable типом.

Структуры объявляются при помощи ключевого слова struct:

Код
public struct Book
{
public string Name;
public string Year;
public string Author;
}

Экземпляр структуры можно создавать без ключевого слова [i]new[/i]:

static void Main(string[] args)
{
Book b;
b. Name = "BookName";
}


Структуры подходят для создания несложных типов, таких как точка, цвет, окружность. Если необходимо создать множество экземпляров подобного типа, используя структуры, мы экономим память, которая могла бы выделяться под ссылки в случае с классами.

Примерами структур в стандартной библиотеке классов .Net являются такие типы как int, float, double, bool и другие. Также DateTime, Point (точка), Color.

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


Сообщение отредактировал ShadowHacker - Суббота, 26.10.2019, 20:12
Форум » Раздел для разработчиков » Программирование » C# » Структуры в C# | Си-шарп
  • Страница 1 из 1
  • 1
Поиск:

close