История языка C#.



C# (произносится си-шарп) — язык программирования, сочетающий объектно-ориентированные и контекстно-ориентированные концепции. Разработан в 1998—2001 годах группой инженеров под руководством Андерсa Хейлсбергa в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET.

Сторонники C# называют его самым мультипарадигменным, универсальным, продвинутым и удобным в использовании языком программирования.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет строгую статическую типизацию, поддерживает полиморфизм, перегрузку операторов, указатели на функции-члены классов, атрибуты, события, свойства, исключения, комментарии в формате XML.

Переняв многое от своих предшественников — языков C++, Delphi, Modula и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем: так, C# не поддерживает множественное наследование классов (в отличие от C++) или вывода типов (в отличие от Haskell).

Особенности С#

  • Возможность использования С# для написания динамических web-страниц ASP.NET;
  • Поддержка свойств и событий в стиле VB;
  • Полная поддержка классов и объектно-ориентированного программирования, включая наследование интерфейсов и реализаций, виртуальных функций и перегрузки операторов;
  • Полный и хорошо определенный набор основных типов;
  • Встроенная поддержка автоматической генерации XML-документации;
  • Автоматическое освобождение динамически распределенной памяти;
  • Возможность отметки классов и методов атрибутами, определяемыми пользователем;
  • Полный доступ к библиотеке базовых классов .NET, а также легкий доступ к Windows API;
  • Указатели и прямой доступ к памяти, если они необходимы. Однако язык разработан таким образом, что практически во всех случаях можно обойтись и без этого;
  • Простое изменение ключей компиляции. Позволяет получать исполняемые файлы или библиотеки компонентов .NET, которые могут быть вызваны другим кодом так же, как элементы управления ActiveX (компоненты СОМ).

Пространство имен

Пространство имён (англ. namespace) — некоторое множество, под которым подразумевается модель, абстрактное хранилище или окружение, созданное для логической группировки уникальных идентификаторов (то есть имён).

Пространство имен — это не более чем группа типов данных, но дающая тот эффект, что имена всех типов данных в пределах пространства имен автоматически снабжаются префиксом — названием пространства имен. Пространства имен можно вкладывать друг в друга.

Основное пространство имен, с которого нужно начинать знакомство с пространствами называется System. В нем содержится набор ключевых типов, с которыми любой разработчик .NET будет использовать. Создание функционального приложения на C# невозможно без добавления ссылки хотя бы на пространство имен System, поскольку все основные типы данных (System.Int32, System.BooleanBoolean) определены именно в нём.

Для подключения пространства имен в C# используется ключевое слово using, например:

using System;
using System.Drawing;
using System.Windows.Forms;

Ключевые пространства имен .NET Framework
Пространство имен в .NETОписание
SystemВнутри пространства имен System содержится множество полезных типов, позволяющих иметь дело с внутренними данными, математическими вычислениями,
генерированием случайных чисел, переменными среды и сборкой мусора, а также ряд наиболее часто применяемых исключений и атрибутов
System.Collections
System.Collections.Generic
В этих пространствах имен содержится ряд контейнерных типов, а также несколько базовых типов и интерфейсов, которые позволяют создавать специальные
коллекции
System.Data
System.Data.Common
System.Data.EntityClient
System.Data.SqlClient
Эти пространства имен применяются для взаимодействия с базами данных с помощью ADO.NET
System.IO
System.IO.Compression
System.IO.Ports
В этих пространствах содержится много типов, предназначенных для работы с операциями файлового ввода-вывода, сжатия данных и манипулирования портами
System.Reflection
System.Reflection.Emit
В этих пространствах имен содержатся типы, которые
поддерживают обнаружение типов во время выполнения, а также динамическое создание типов
System.Runtime.InteropServicesВ этом пространстве имен содержатся средства, с помощью которых можно позволить типам .NET взаимодействовать с «неуправляемым кодом» (например, DLL-библиотеками на базе С и серверами СОМ) и наоборот
System.Drawing
System.Windows.Forms
В этих пространствах имен содержатся типы, применяемые для построения настольных приложений с использованием исходного набора графических инструментов
.NET (Windows Forms)
System.Windows
System.Windows.Controls
System.Windows.Shapes
Пространство System.Windows является корневым
среди этих нескольких пространств имен, которые
представляют собой набор графических инструментов
Windows Presentation Foundation (WPF)
System.Linq
System.Xml.Linq
System.Data.DataSetExtensions
В этих пространствах имен содержатся типы, применяемые при выполнении программирования с использованием API-интерфейса LINQ
System.WebЭто пространство имен является одним из многих, которые позволяют создавать веб-приложения ASP.NET
System.ServiceModelЭто пространство имен является одним из многих, которые позволяется применять для создания распределенных приложений с помощью API-интерфейса Windows
Communication Foundation (WCF)
System.Workflow.Runtime
System.Workflow.Activities
Эти два пространства имен являются главными представителями многочисленных пространств имен, в которых
содержатся типы, применяемые для построения поддерживающих рабочие потоки приложений с помощью
API-интерфейса Windows Workflow Foundation (WWF)
System.Threading
System.Threading.Tasks
В этом пространстве имен содержатся многочисленные
типы для построения многопоточных приложений, способных распределять рабочую нагрузку среди нескольких ЦП.
System.SecurityБезопасность является неотъемлемым свойством мира
.NET. В относящихся к безопасности пространствах
имен содержится множество типов, которые позволяют иметь дело с разрешениями, криптографической защитой и т.д
System.XmlВ этом ориентированном на XML пространстве имен
содержатся многочисленные типы, которые можно применять для взаимодействия с XML-данными

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Chinese (Traditional)EnglishJapaneseRussianUkrainian

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: