C sharp, virtual laboratory wiki, fandom powered by wikia
Особливості мови Правити
C # розроблявся як мова програмування прикладного рівня для CLR і, як такий, залежить, перш за все, від можливостей самої CLR. Це стосується, перш за все, системи типів C #, яка відображає FCL. Присутність або відсутність тих чи інших виразних особливостей мови диктується тим, чи може конкретна мовна особливість бути трансльований в відповідні конструкції CLR. Так, з розвитком CLR від версії 1.1 до 2.0 значно збагатився і сам C #; подібної взаємодії слід очікувати і в подальшому. (Однак ця закономірність була порушена з виходом C # 3.0, що представляє собою розширення мови, що не спираються на розширення платформи .NET.) CLR надає C #, як і всім іншим .NET -орієнтуватися мов, багато можливостей, яких позбавлені «класичні» мови програмування. Наприклад, прибирання сміття не реалізована в самому C #, а проводиться CLR для програм, написаних на C # точно так же, як це робиться для програм на VB.NET. J # і ін.
Назва мови Правити
Символ '#' (октоторп) в назві мови можна інтерпретувати і як дві пари плюсів ++; ++, що натякають на новий крок в розвитку мови в порівнянні з C ++ (подібно кроку від C до C ++), і як музичний символ дієз. разом з буквою C становить в англійській мові назва ноти до-дієз (англ. C sharp). Октоторп '#' часто називають "Шарп» (від англ. Sharp) через його схожості з дієз '♯', звідси і назва мови - «Сі Шарп».
стандартизація Правити
версії Правити
Версія 1.0 Правити
Перша версія C # нагадувала за своїми можливостями Java 1.4, кілька їх розширюючи: так, в C # були властивості (виглядають в коді як поля об'єкта. Але на ділі викликають при зверненні до них методи класу), індексатори (подібні до властивостей, але приймають параметр як індекс масиву), події. делегати. цикли foreach. структури. передаються за значенням, автоматичне перетворення вбудованих типів в об'єкти при необхідності (boxing), атрибути, вбудовані засоби взаємодії з некерованим кодом (DLL. COM) та інше.
Крім того, в C # вирішено було перенести деякі можливості C ++, відсутні в Java: беззнакові типи, перевизначення операцій (з деякими обмеженнями, на відміну від C ++), передача параметрів в метод по посиланню. методи зі змінним числом параметрів, оператор goto. Також в C # залишили обмежену можливість роботи з покажчиками - в місцях коду, спеціально позначених словом unsafe і при вказівці спеціальній опції компілятору.
Версія 2.0 Правити
Нові можливості у версії 2.0
Версія 3.0 Правити
Нові можливості у версії 3.0
В C # 3.0 з'явилися такі радикальні додавання до мови:
- ключові слова select, from, where. що дозволяють робити запити з SQL. XML. колекцій і т. п. (запит, інтегрований в мову, Language Integrated Query. або LINQ)
- Ініціалізація об'єкта разом з його властивостями:
можна записати як