Типы по ссылке

Пользовательские типы по значению

Пользовательские типы по значению – это структуры.

В C# структура это особый вид класса, который имеет тип по значению, т.е. экземпляр структуры хранится в стеке, это дает следующие преимущества:

1. стековая переменная размещается в памяти гораздо быстрее, чем ссылочная,

2. имеется простая возможность копирования переменной с помощью оператора присваивания,

3. при выходе из области видимости стековая переменная автоматически уничтожается.

Структура в C# является классом с ограниченными возможностями. Для структуры запрещено наследование. Так же структура имеет встроенный конструктор по умолчанию и поэтому программист не может для нее создать собственный конструктор по умолчанию. Перед использованием экземпляра структуры необходимо обязательно проинициализировать все поля структуры. Для этого, при создании экземпляра структуры, проще всего использовать оператор new для вызова конструктора по умолчанию, например:

Point myPoint = new Point();

Встроенный конструктор по умолчанию при создании экземпляра структуры просто обнуляет все поля структуры, булевским переменным присваивается значение false, а ссылкам null.


Ссылочные типы имеют сложную иерархию, которую можно представить в виде дерева на рис 3.

Рис. 3.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: