русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Типи-значення і посилальні типи


Дата додавання: 2015-01-08; переглядів: 1769.


 

Найчастіше типи С# розділяють за способом зберігання елементів на типи-значення і посилальні типи (рис. 2.2). Елементи типів-значень, або значущих типів (value types), є просто послідовністю бітів в пам'яті, необхідний об'єм якої виділяє компілятор. Іншими словами, величини значущих типів зберігають свої значення безпосередньо. Величина посилального типу зберігає не самі дані, а посилання на них (адреса, по якій розташовані дані). Самі дані зберігаються в хіпові. Не дивлячись на відмінності в способі зберігання, і типи-значення, і посилальні типи є нащадками загального базового класу object.

Рисунок 2.3 ілюструє різницю між величинами значущого і посилального типів. Одні і ті ж дії над ними виконуються по-різному. Розглянемо як приклад перевірку на рівність. Величини значущого типу рівні, якщо рівні їх значення. Величини посилального типу рівні, якщо вони посилаються на одні і ті ж дані (на рисунку b і с рівні, але а не рівне b навіть при однакових значеннях). З цього виходить, що якщо змінити значення однієї величини посилального типу, це може відбитися на іншій.

 

Рис. 2.2. Класифікація типів даних C# за способом зберігання

 

 

Рис. 2.3. Зберігання в пам'яті величин значущого і посилального типів

 

Всі значущі типи є простими. По іншій класифікації структури і перелічення відносяться до структурованих типів, що визначаються програмістом. Деталізація типів даних, приведених на рис. 2.2 буде розглянута в подальших розділах.


<== попередня лекція | наступна лекція ==>
Класифікація типів | Рекомендації по програмуванню


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн