Внимание. Несмотря на различия в способе хранения, и типы-значения, и ссылочные типы яв­ляются потомками общего базового класса object

Несмотря на различия в способе хранения, и типы-значения, и ссылочные типы яв­ляются потомками общего базового класса object.

Рис. 2.2. Классификация типов данных С# по способу хранения

Рисунок 2.3 иллюстрирует разницу между величинами значимого и ссылочного типов. Одни и те же действия над ними выполняются по-разному. Рассмотрим в качестве примера проверку на равенство. Величины значимого типа равны, если равны их значения. Величины ссылочного типа равны, если они ссылаются на одни и те же данные (на рисунке b и с равны, но а не равно b даже при одинако­вых значениях). Из этого следует, что если изменить значение одной величины ссылочного типа, это может отразиться на другой.

Обратите внимание на то, что не все значимые типы являются простыми. По дру­гой классификации структуры и перечисления относятся к структурированным типам, определяемым программистом. Мы рассмотрим эти типы в главе 9. Ссы­лочные типы мы будем изучать в главе 5 и последующих главах, после основных операторов С#, когда вы освоите синтаксис языка, а до этого ограничимся исполь­зованием встроенных типов-значений. Типы nullable введены в версию С# 2.0 и рассматриваются в главе 13.


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



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