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


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



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

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

Теги: .NET

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

События жизненного цикла формы
Работа с несколькими результирующими наборами
Конфигурирование защиты по правам доступа к коду
Свойства-наборы
Установка порядка передачи фокуса при нажатии клавиши Tab
Специальные возможности и элементы управления Windows Forms
Использование провайдеров дополнительных свойств
Команды для манипулирования данными
Добавление элементов управления на панель Toolbox
Отладка элементов управления
Обзор ADO.NET
Вложенные элементы управления и контейнеры
Применение отладочных инструментов
Тестирование элемента управления
Создание дополнительных типов объектов Doughnut
| .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
29 30 31


     



Rambler

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

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