В.NET є загальна система типів CTS, яка включає примітивні типи, типи-значення та посилальні типи.
Для можливості комплексування різних мов програмування між собою введено єдину систему типів, яка є повною і при цьому залишається ясною. Наприклад, у стандарті CORBA концепції мов і типів визначені в Object Management Architecture. У.NET таку роль виконує CTS. У CTS всі типи діляться на наступні категорії:
ü Примітивні типи, типи-значення та посилальні типи;
ü Об’єктні та інтерфейсні типи.
Основні види даних в системі типів.NET – це типи значення (value types) і посилальні типи (reference types). Основна відмінність між ними полягає в тому, що тип-значення є послідовністю бітів в пам’яті, а посилальний тип додатково має «індивідуальність». Наприклад, 32-бітове знакове ціле є типом-значенням. Якщо ми порівнюватимемо два будь-яких цілих, то вони вважатимуться рівними, якщо містять однакове число. З іншого боку, розглянемо об’єкти, що є посилальними значеннями. Два різні об’єкти, які представляють один і той же клас, можуть містити абсолютно однакові дані, але при цьому не будуть рівними, оскільки вказуються на різні ділянки пам’яті.
|
|
Мова C#
Андерс Хейлсберг, який очолював в Microsoft роботу із створення мови програмування C#, таким чином визначив цілі, що стояли перед ними:
ü Створити першу компонентно-орієнтовану мову програмування в сімействі C/C++;
ü Створити об’єктно-орієнтовану мову, у якій будь-яка суть представляється об’єктом;
ü Спростити C++, зберігши її потужність і основні конструкції.
Головна новина – компонентна орієнтованість мови. Компоненти дозволяють вирішувати проблему модульності на новому рівні. Побудова компонентів визначається не лише мовою, але і платформою її реалізації.
Мову C# стандартизовано в ECMA (ECMA-334) s ISO (ISO/IEC 23270).