Имя Пароль
Зарегистрироваться


* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Типы значений и ссылочные типы
7 февраля 2009

Как говорилось ранее, в .NET Framework две разновидности типов: ссылочные типы
(reference types) и типы значений (value types). Основное различие между ними за-
ключается в способе доступа к переменным, объявленным с этими типами. Чтобы
разобраться в сути этого различия, необходимо кратко пояснить основы динами-
ческого использования памяти.
Занимаемая приложением память складывается из двух основных компонентов:
стека (stack) и кучи (heap). Стек — это область памяти, резервируемая для исполне-
ния программы. Стек напоминает стопку тарелок: если нужна чистая тарелка, бе-
рут тарелку из стопки (то есть ту, которую положили последней). С переменными
программы происходит то же самое: при вызове функции все объявленные в ней
переменные заталкиваются в стек (эта операция называется push); если эта функ-
ция вызовет другую функцию, то все переменные, объявленные новой функцией,
тоже попадут в стек. Когда функция, вызванная последней, завершится, ее пере-
менные выходят из области видимости (scope) программы и выталкиваются из сте-
ка (эта операция называется pop); в результате память, занимаемая этими перемен-
ными, освобождается, и выполнение программы продолжается.
Куча — отдельная область памяти, резервируемая для создания объектов, кото-
рые предназначены для многократного использования. CLR выделяет в куче па-
мять под объекты и управляет утилизацией памяти, занятой неиспользуемыми
объектами, посредством механизма под названием сбор мусора.

Теги: .NET

Статьи по теме:

Формирование запросов SQL во время выполнения
Обеспечение совместимости с замещенными или скрытыми членами
Реализация полиморфизма через интерфейсы
Сокрытие членов базового класса в Visual C#
Специальные возможности и логотип «Certified for Windows»
Установка порядка передачи фокуса при нажатии клавиши Tab
Обработка ошибок при обновлении базы данных
Декларативная защита, основанная на ролях
Извлечение типизированных данных с помощью объекта DataReader
Вызов методов
Рекурсия
Реализация метода RemoveStale
Доступ к «плоским» файлам
Получение доступа к библиотекам типов .NET и СОМ
Получение и установка текущей культуры пользовательского интерфейса
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Типы значений и ссылочные типы. Регион сайта: Москва и Санкт-Петербург