
Las bibliotecas estándar son un conjunto de bibliotecas estándar incluidas en la Infraestructura de Lenguaje Común (CLI) para encapsular muchas funciones comunes, como la lectura y escritura de archivos, la manipulación de documentos XML , el manejo de excepciones , la globalización de aplicaciones , la comunicación de red, la programación multihilo y la reflexión , lo que facilita el trabajo del programador. Su alcance es mucho mayor que el de las bibliotecas estándar de la mayoría de los demás lenguajes, incluido C++ , y es comparable en alcance y cobertura a las bibliotecas estándar de Java .
Las bibliotecas estándar son la Biblioteca de Clases Base (BCL), la Biblioteca de Infraestructura de Tiempo de Ejecución (ambas forman parte del perfil del kernel), la Biblioteca de Red, la Biblioteca de Reflexión, la Biblioteca XML (que junto con las dos primeras bibliotecas enumeradas forman el perfil compacto), la Biblioteca de Matrices Extendidas, la Biblioteca Paralela, la Biblioteca de Punto Flotante y la Biblioteca de Vararg.
La Framework Class Library (FCL) es la implementación original de las bibliotecas estándar, ya que .NET Framework, que la incluye, es la primera implementación de la CLI.
Las bibliotecas estándar pertenecen principalmente al espacio de nombres System.*. Microsoft , los desarrolladores de la plataforma .NET, también proporcionan bibliotecas de extensión oficiales en Microsoft.*y Microsoft.Extensions.*, aunque no forman parte de la biblioteca estándar oficial de .NET. [ 1 ]
Perfiles
Las principales bibliotecas estándar se organizan en dos perfiles estándar: el perfil de núcleo y el perfil compacto. [ 2 ] Las siguientes bibliotecas estándar no pertenecen a ningún perfil: la biblioteca de matrices extendidas, la biblioteca numérica extendida, la biblioteca paralela y la biblioteca Vararg. [ 3 ] [ 4 ] [ 5 ] [ 6 ]
Perfil del núcleo
El perfil del núcleo es un subconjunto del perfil compacto. El perfil del núcleo contiene la biblioteca de clases base (BCL) y la biblioteca de infraestructura de tiempo de ejecución. [ 7 ]
Perfil compacto
El perfil compacto contiene esas bibliotecas en el perfil del kernel, así como la biblioteca de red, la biblioteca de reflexión y la biblioteca XML. [ 8 ]
Bibliotecas
Biblioteca de clases base
La biblioteca de clases base es una biblioteca de tiempo de ejecución simple para lenguajes de programación modernos. Sirve como estándar para la biblioteca de tiempo de ejecución del lenguaje C#, así como una de las bibliotecas estándar de la CLI. Proporciona tipos para representar los tipos de datos integrados de la CLI, acceso simple a archivos, atributos personalizados, atributos de seguridad, manipulación de cadenas, formato, flujos, colecciones, entre otras cosas. [ 9 ] Define tipos en los siguientes espacios de nombres:

Biblioteca de infraestructura de tiempo de ejecución
La biblioteca de infraestructura de tiempo de ejecución proporciona los servicios que necesita un compilador para dirigirse a la CLI y las facilidades necesarias para cargar dinámicamente tipos desde un flujo en un formato de archivo especificado. [ 10 ] Define tipos en los siguientes espacios de nombres:
Biblioteca en red
La biblioteca de red proporciona servicios de red sencillos, incluido el acceso directo a los puertos de red, así como compatibilidad con HTTP. [ 11 ] Define tipos en los siguientes espacios de nombres:
Biblioteca de Reflexión
La biblioteca Reflection proporciona la capacidad de examinar la estructura de los tipos, crear instancias de tipos e invocar métodos en los tipos, todo ello basado en una descripción del tipo. [ 12 ] Define los tipos en los siguientes espacios de nombres:
Biblioteca XML
La biblioteca XML proporciona un analizador simple de "estilo pull" para XML. Está diseñado para dispositivos con recursos limitados, pero proporciona un modelo de usuario simple. [ 13 ] Define tipos en el siguiente espacio de nombres.
Biblioteca de Windows Presentation Foundation
Microsoft dispone de un espacio de nombres para las clases de aplicación de Windows Presentation Foundation (WPF).
Biblioteca de matrices extendidas
La biblioteca Extended Array proporciona soporte para matrices no vectoriales. Es decir, matrices que tienen más de una dimensión o matrices con límites inferiores distintos de cero. [ 3 ] La biblioteca Extended Array no añade ningún tipo adicional, pero sí amplía el mecanismo de manejo de matrices. [ 14 ]
Biblioteca de métodos numéricos ampliada
La biblioteca de números extendidos proporciona soporte para tipos de datos de punto flotante (System.Single , System.Double ) y de precisión extendida (System.Decimal ) . Al igual que la biblioteca de clases base, esta biblioteca es referenciada directamente por el estándar C#. [ 4 ]
Biblioteca paralela
La biblioteca Parallel proporciona paralelismo sencillo para programadores no expertos, de modo que se puedan aprovechar las CPU multihilo. [ 5 ]
Biblioteca Vararg
La biblioteca Vararg proporciona soporte para manejar listas de argumentos de longitud variable. [ 6 ]
Véase también
Referencias
- ↑ "Galería NuGet" . www.nuget.org.
- ↑ "IV.3 Los perfiles estándar" . Norma ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio de 2012. pág. 437.
- 1 2 "IV.5.8 Biblioteca de matrices extendidas" . Estándar ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio de 2012. pág. 441.
- 1 2 "IV.5.7 Biblioteca numérica extendida" . Norma ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio de 2012. pág. 441.
- 1 2 "IV.5.10 Biblioteca paralela" . Norma ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio de 2012. pág. 441.
- 1 2 "IV.5.9 Biblioteca Vararg" . Norma ECMA-335 – Infraestructura de Lenguaje Común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio de 2012. pág. 441.
- ↑ "IV.3.1 El perfil del núcleo" . Norma ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio de 2012. pág. 437.
- ↑ "IV.3.2 El perfil compacto" . Norma ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio de 2012. pág. 437.
- ↑ "IV.5.3 Biblioteca de clases base (BCL)" . Norma ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio de 2012. pág. 440.
- ↑ "IV.5.2 Biblioteca de infraestructura de tiempo de ejecución" . Norma ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio de 2012. pág. 440.
- ↑ "IV.5.4 Biblioteca de red" . Norma ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio de 2012. pág. 440.
- ↑ "IV.5.5 Biblioteca de reflexión" . Norma ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio de 2012. pág. 440.
- ↑ "IV.5.6 Biblioteca XML" . Norma ECMA-335 – Infraestructura de Lenguaje Común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio de 2012. pág. 440.
- ↑ King, Jason; Easton, Mark (2004). «Capítulo 4: Análisis del .NET Framework». En Gilmore, Jason (ed.). Desarrollo .NET multiplataforma: Uso de Mono, Portable.NET y Microsoft .NET . Apress . pág. 110. ISBN 1-59059-330-8. LCCN 2004018339 .
Enlaces externos
- Ecma International, Norma ECMA-335, Infraestructura de Lenguaje Común (CLI), 6.ª edición (junio de 2012). Archivado el 15 de enero de 2021 en Wayback Machine .
- Ecma International, Informe técnico TR/84, Infraestructura de lenguaje común (CLI) - Información derivada del archivo XML de la partición IV, 6.ª edición (junio de 2012). Archivado el 27 de noviembre de 2020 en Wayback Machine .
- Infraestructura de lenguaje común