Стандартные библиотеки представляет собой набор библиотек , включенных в инфраструктуру Common Language (CLI) для того , чтобы инкапсулировать много общих функций, таких как чтение файла и записи, XML манипуляции документа, обработка исключений , применение глобализации , сети связи, нарезания резьбы и отражения , которые упрощает работу программиста. Он намного больше по объему, чем стандартные библиотеки для большинства других языков, включая C ++ , и сравним по объему и охвату со стандартными библиотеками Java .
Список стандартных библиотек: Библиотека базовых классов (BCL), Библиотека инфраструктуры времени выполнения (обе части профиля ядра) Сетевая библиотека, Библиотека Reflexion, Библиотека XML (которые с двумя первыми перечисленными библиотеками являются частью компактного профиля и расширенного массива Библиотека, параллельная библиотека, библиотека с плавающей запятой.
Библиотека классов Рамки (ГКЛ) является источником стандартных библиотек как .NET Framework, который включает в себя FCL, является первым реализация CLI.
Профили [ править ]
Основные стандартные библиотеки разделены на два стандартных профиля: профиль ядра и компактный профиль. [1] Следующие стандартные библиотеки не принадлежат ни к какому профилю: расширенная библиотека массивов, расширенная библиотека числовых значений, параллельная библиотека и библиотека Vararg. [2] [3] [4] [5]
Профиль ядра [ править ]
Профиль ядра - это подмножество компактного профиля. Профиль ядра содержит библиотеку базовых классов (BCL) и библиотеку инфраструктуры времени выполнения. [6]
Компактный профиль [ править ]
Компактный профиль содержит эти библиотеки в профиле ядра, а также сетевую библиотеку, библиотеку отражений и библиотеку XML. [7]
Библиотеки [ править ]
Библиотека базовых классов [ править ]
Библиотека базовых классов - это простая библиотека времени выполнения для современных языков программирования. Он служит стандартом для библиотеки времени выполнения для языка C #, а также одной из стандартных библиотек CLI. Он предоставляет типы для представления встроенных типов данных интерфейса командной строки, простого доступа к файлам, настраиваемых атрибутов, атрибутов безопасности, операций со строками, форматирования, потоков, коллекций и прочего. [8] Он определяет типы в следующих пространствах имен:
- Система
- Определяет класс Object, от которого происходят все объекты ссылочного типа (включая объекты типа значения), и класс ValueType, от которого происходят все объекты типа значения. Он также определяет базовые типы данных, такие как целые числа , числа с плавающей запятой , символ , строки , логические значения , перечисление и другие. Предоставляется поддержка среды и платформы и интерфейса командной строки вместе с базовыми классами для исключений и атрибутов . Он определяет массивы и делегаты , математические функции и многие другие типы.
- System.Collections
- Определяет множество распространенных типов контейнеров, используемых в программировании, таких как словари , хэш-таблицы , списки , очереди и стеки .
- System.Collections.Generic
- Определяет универсальные типы типов контейнеров в пространстве имен System.Collections.
- Система. Диагностика
- Определяет типы, обеспечивающие возможность диагностики приложений. Он включает в себя ведение журнала событий , счетчики производительности, отслеживание и взаимодействие с системными процессами.
- System.Globalization
- Определяет типы, которые определяют информацию, связанную с культурой, включая язык, страну / регион, используемые календари, шаблоны формата для дат, валюту и числа, а также порядок сортировки строк.
- System.IO
- Определяет тип, который разрешает чтение и запись в разные потоки , такие как файлы или другие потоки данных . Также обеспечивает подключение к файловой системе .
- Система. Безопасность
- Определяет типы, представляющие систему безопасности и разрешения.
- System.Security.Permissions
- Определяет типы, которые управляют доступом к операциям и ресурсам на основе политики.
- System.Text
- Определяет типы, которые поддерживают различные кодировки символов , регулярные выражения и более эффективный механизм для управления строками.
- System.Threading
- Определяет типы, допускающие многопоточное программирование .
Библиотека инфраструктуры времени выполнения [ править ]
Библиотека инфраструктуры времени выполнения предоставляет услуги, необходимые компилятору для нацеливания на интерфейс командной строки, и средства, необходимые для динамической загрузки типов из потока в указанном формате файла. [9] Он определяет типы в следующих пространствах имен:
- Система
- Определяет типы для домена приложения , указатели , дескрипторы и многое другое.
- System.Reflection
- Определяет типы, которые обеспечивают управляемое представление загруженных типов, методов и полей и могут динамически создавать и вызывать типы. Эти типы относятся к среде выполнения программы .
- System.Runtime.CompilerServices
- Определяет типы, которые предоставляют функциональные возможности для разработчиков компилятора, которые используют управляемый код для указания атрибутов в метаданных, которые влияют на поведение виртуальной системы выполнения во время выполнения .
- System.Runtime.InteropServices
- Определяет типы, поддерживающие службы вызова платформы (P / Invoke).
Сетевая библиотека [ править ]
Сетевая библиотека предоставляет простые сетевые службы, включая прямой доступ к сетевым портам, а также поддержку HTTP. [10] Он определяет типы в следующих пространствах имен:
- Система
- Определяет типы, которые обеспечивают объектное представление универсального идентификатора ресурса (URI) и легкий доступ к частям URI.
- System.Collections.Specialized
- Определяет специализированные и строго типизированные коллекции; например, словарь связанного списка, битовый вектор и коллекции, содержащие только строки.
- System.Net
- Определяет типы, обеспечивающие простой программный интерфейс для ряда сетевых протоколов .
- System.Net.Sockets
- Определяет тип, обеспечивающий управляемую реализацию интерфейса Windows Sockets (Winsock) для разработчиков, которым необходимо строго контролировать доступ к сети.
Библиотека отражений [ править ]
Библиотека отражения предоставляет возможность исследовать структуру типов, создавать экземпляры типов и вызывать методы для типов, и все это на основе описания типа. [11] Он определяет типы в следующих пространствах имен:
- Система
- Определяет тип void, тип возвращаемого значения для метода, который не возвращает значение.
- System.Globalization
- Определяет тип, предоставляющий информацию о конкретной культуре (называемой языковым стандартом для разработки неуправляемого кода). Информация включает в себя названия культуры, системы письма, используемого календаря и форматирование дат и строк сортировки.
- System.Reflection
- Определяет типы, которые обеспечивают управляемое представление загруженных типов, методов и полей и могут динамически создавать и вызывать типы.
- System.Security.Permissions
- Определяет типы, которые управляют доступом к операциям и ресурсам на основе политики. Эти типы имеют отношение к отражению .
XML-библиотека [ править ]
Библиотека XML предоставляет простой синтаксический анализатор XML в стиле «вытягивания». Он разработан для устройств с ограниченными ресурсами, но предоставляет простую пользовательскую модель. [12] Он определяет типы в следующем пространстве имен.
- System.Xml
- Определяет типы для обработки XML .
Расширенная библиотека массивов [ править ]
Библиотека расширенных массивов обеспечивает поддержку не векторных массивов. То есть массивы, имеющие более одного измерения, или массивы с ненулевыми нижними границами. [2] Расширенная библиотека массивов не добавляет никаких дополнительных типов, но расширяет механизм обработки массивов. [13]
Библиотека расширенных чисел [ править ]
Библиотека расширенных чисел обеспечивает поддержку типов данных с плавающей запятой (System.Single, System.Double) и расширенной точности (System.Decimal). Как и библиотека базовых классов, на эту библиотеку прямо ссылается стандарт C #. [3]
Параллельная библиотека [ править ]
Параллельная библиотека обеспечивает простой параллелизм для непрофессиональных программистов, так что можно использовать многопоточные ЦП. [4]
Библиотека Варарг [ править ]
Библиотека Vararg поддерживает работу со списками аргументов переменной длины. [5]
См. Также [ править ]
- Список типов данных стандартных библиотек
- Библиотека классов Framework
Ссылки [ править ]
- ^ «IV.3 Стандартные профили» . Стандарт ECMA-335 - Common Language Infrastructure (CLI) (Технический отчет) (6-е изд.). Ecma International . Июнь 2012. с. 437.
- ^ a b «IV.5.8 Расширенная библиотека массивов» . Стандарт ECMA-335 - Common Language Infrastructure (CLI) (Технический отчет) (6-е изд.). Ecma International . Июнь 2012. с. 441.
- ^ a b «IV.5.7 Расширенная цифровая библиотека» . Стандарт ECMA-335 - Common Language Infrastructure (CLI) (Технический отчет) (6-е изд.). Ecma International . Июнь 2012. с. 441.
- ^ a b «IV.5.10 Параллельная библиотека» . Стандарт ECMA-335 - Common Language Infrastructure (CLI) (Технический отчет) (6-е изд.). Ecma International . Июнь 2012. с. 441.
- ^ a b "Библиотека IV.5.9 Vararg" . Стандарт ECMA-335 - Common Language Infrastructure (CLI) (Технический отчет) (6-е изд.). Ecma International . Июнь 2012. с. 441.
- ^ «IV.3.1 Профиль ядра» . Стандарт ECMA-335 - Common Language Infrastructure (CLI) (Технический отчет) (6-е изд.). Ecma International . Июнь 2012. с. 437.
- ^ «IV.3.2 Компактный профиль» . Стандарт ECMA-335 - Common Language Infrastructure (CLI) (Технический отчет) (6-е изд.). Ecma International . Июнь 2012. с. 437.
- ^ «IV.5.3 Библиотека базовых классов (BCL)» . Стандарт ECMA-335 - Common Language Infrastructure (CLI) (Технический отчет) (6-е изд.). Ecma International . Июнь 2012. с. 440.
- ^ «IV.5.2 Библиотека инфраструктуры времени выполнения» . Стандарт ECMA-335 - Common Language Infrastructure (CLI) (Технический отчет) (6-е изд.). Ecma International . Июнь 2012. с. 440.
- ^ «IV.5.4 Сетевая библиотека» . Стандарт ECMA-335 - Common Language Infrastructure (CLI) (Технический отчет) (6-е изд.). Ecma International . Июнь 2012. с. 440.
- ^ "IV.5.5 Библиотека отражений" . Стандарт ECMA-335 - Common Language Infrastructure (CLI) (Технический отчет) (6-е изд.). Ecma International . Июнь 2012. с. 440.
- ^ "Библиотека IV.5.6 XML" . Стандарт ECMA-335 - Common Language Infrastructure (CLI) (Технический отчет) (6-е изд.). Ecma International . Июнь 2012. с. 440.
- ^ Король, Джейсон; Истон, Марк (2004). «Глава 4: Рассмотрение NET Framework». В Гилморе, Джейсон (ред.). Кросс-платформенная разработка .NET: использование Mono, Portable.NET и Microsoft .NET . Апресс . п. 110. ISBN 1-59059-330-8. LCCN 2004018339 .
Внешние ссылки [ править ]
- Ecma International, Стандарт ECMA-335, Common Language Infrastructure (CLI), 6-е издание (июнь 2012 г.)
- Ecma International, Технический отчет TR / 84, Common Language Infrastructure (CLI) - Информация, полученная из XML-файла раздела IV, 6-е издание (июнь 2012 г.)