Язык C# — это современный язык программирования, разработанный корпорацией Microsoft, на котором можно создавать программы любой сложности и для любых операционных систем.
Введение
Язык C# (читается как «си шарп») является современным объектно-ориентированным и типобезопасным языком программирования. C# даёт возможность проектировщикам формировать много типов программных приложений, которые работают в экосистеме .NET и считаются безопасными и надёжными. Язык C# принадлежит к очень популярному языковому семейству Си и считается объектно- и компонентно-ориентированным программным языком. Он обладает такими конструкциями языка, которые непосредственно поддерживают такую концепцию работы. Эти особенности позволяют использовать язык C# для формирования и применения программных элементов.
За время, прошедшее с момента изобретения языка C#, в него были добавлены различные функции, которые поддерживают новые рабочие нагрузки, а также добавлены современные рекомендации по проектированию программного обеспечения.
Разработка программ на языке C
Язык программирования C# имеет инструментальный набор, позволяющий реализовывать программные приложения, которые обладают надёжностью и устойчивостью. Например, это следующие функции:
- «Сборка мусора». В автоматическом режиме выполняет очистку памяти, которая занята рядом недоступных и неиспользуемых объектов.
- «Типы, которые допускают значение null». Данная функция защищает от переменных, не ссылающихся на выделенные объекты.
- «Обработка исключений». Функция обеспечивает структурированный и расширяемый подход, который позволяет обнаруживать ошибки и выполнять их коррекцию.
- «Лямбда-выражения». Позволяют осуществлять поддержку приёмов функционального программирования.
- «Синтаксис LINQ». Может создать общий шаблон, позволяющий работать с информационными данными из любых источников.
- Возможно осуществить поддержку языков для «асинхронных операций». Эта функция обеспечивает синтаксис для формирования распределённых систем.
- Язык C# обладает единой «системой типов». Каждый тип, в том числе и типы-примитивы, подобные int и double, являются наследниками одного корневого типа object. Весь набор типов применяет общий список операций, при этом значения каждого типа можно сохранять, транслировать и обрабатывать аналогичным образом. Помимо этого, язык C# способен поддерживать как ссылочные типы, которые определяются пользователем, так и типы значений.
- Язык C# имеет возможность динамического выделения объектов и сохранения упрощённых структур в стеке.
- Язык C# может предоставить итераторы, позволяющие разработчикам классов коллекций задавать пользовательские версии поведения для кода клиента.
В языке C# значительное внимание уделено управлению версиями, что позволяет обеспечить совместимость программ и библиотек при их коррекции. Проблемы, связанные с управлением версиями, оказали большое влияние на такие моменты проектирования языка C#, как раздельные модификаторы virtual и override, а также на формирование правил перегрузки методов и поддержку явного объявления членов интерфейса.
Программа, написанная на языке C#, исполняется в виртуальной системе исполнения .NET, которая вызывает общеязыковую среду исполнения CLR и наборы библиотечных классов.
Среда CLR является реализацией общеязыковой инфраструктуры языка CLI, которая является международным стандартом, от компании Микрософт. CLI считается базой для формирования сред исполнения и проектирования, в которых библиотеки и языки способны взаимодействовать между собой на прозрачной основе.
Программа в исходных кодах, представленная на языке C#, подвергается компиляции в коды промежуточного языка IL, соответствующего спецификации CLI. Преобразованная в коды языка IL программа, а также различные ресурсы, включая растровые изображения и строки, подлежат сохранению в сборке, имеющей расширение .dll. У сборки имеется манифест с данными о типах, версии, языке и региональных характеристиках, соответствующих данной сборке.
При исполнении программы C# осуществляется загрузка сборки в среду CLR. Далее в среде CLR реализуется JIT-компиляция из языка IL в машинные коды. В среде CLR также исполняются некоторые другие операции, такие как, автоматическая сборка мусора, обработка исключений и управление ресурсами. Код, исполняемый при помощи среды CLR, часто именуется как «управляемый код», с целью обозначить его отличие от так называемых «неуправляемых кодов», которые сразу подвергаются компиляции в машинный язык для заданной платформы.
Осуществление взаимодействия среди языков может считаться главной особенностью .NET. Программа в кодах IL, сформированная из программы в кодах C#, способна осуществлять взаимодействие с кодом, сформированным из версий.NET, предназначенных для языков F#, Visual Basic, C++ и набора других двадцати языков, которые являются совместимыми с CTS. В одной сборке может находиться набор модулей, которые написаны на различных языках .NET, при этом каждый из типов может ссылаться на другие типы, будто бы они сформированы в границах одного языка.
Дополнительно к временным службам исполнения .NET тоже может включать набор расширенных библиотек. Данные библиотеки способны поддерживать много разных рабочих нагрузок. Они являются упорядоченными согласно пространству имён, которое обеспечивает различные полезные свойства:
- Операции файлового ввода и вывода.
- Управление строчками и синтаксический анализ XML.
- Платформы веб -приложений.
- Элементы управления Windows Forms.
Как правило, приложения на языке C# часто применяют библиотеку классов .NET, чтобы решить типовые задачи.
В языке C# могут использоваться следующие разновидности типов:
- Ссылочные типы.
- Типы значений.
В переменных типа значений находятся непосредственно информационные данные, а переменные ссылочного типа хранят ссылки на необходимую информацию.