Información general de la biblioteca de clases de .NET

Las API de .NET incluyen clases, interfaces, delegados y tipos de valor que agilizan y optimizan el proceso de desarrollo, y proporcionan acceso a las funciones del sistema. Para facilitar la interoperabilidad entre lenguajes, la mayoría de los tipos de .NET son conformes a CLS y, por tanto, se pueden utilizar en todos los lenguajes de programación cuyo compilador satisfaga los requisitos de CLS.

Los tipos de .NET son la base sobre la que se compilan aplicaciones, componentes y controles de .NET. .NET incluye tipos que realizan las funciones siguientes:

  • Representar tipos de datos base y excepciones.
  • Encapsular estructuras de datos.
  • Realizar E/S.
  • Obtener acceso a información sobre tipos cargados.
  • Invocar comprobaciones de seguridad de .NET.
  • Proporcionar: acceso a datos, interfaz gráfica para el usuario (GUI) independiente de cliente e interfaz GUI de cliente controlada por el servidor.

.NET proporciona un conjunto completo de interfaces, así como clases abstractas y concretas (no abstractas). Se pueden usar las clases concretas tal como están o, en muchos casos, derivar clases propias de ellas. Para usar la funcionalidad de una interfaz se puede crear una clase que implemente la interfaz o derivar una clase de una de las clases de .NET que implementa la interfaz.

Convenciones de nomenclatura

Los tipos de .NET usan un esquema de nomenclatura con sintaxis de punto lo que indica la existencia de una jerarquía. Esta técnica agrupa tipos relacionados en espacios de nombres para que se pueda buscar y hacer referencia a ellos más fácilmente. La primera parte del nombre completo, hasta el punto situado más a la derecha, es el nombre del espacio de nombres. La última parte es el nombre de tipo. Por ejemplo, System.Collections.Generic.List<T> representa el tipo List<T>, que pertenece al espacio de nombres System.Collections.Generic. Los tipos de System.Collections.Generic se pueden usar para trabajar con colecciones genéricas.

Este esquema de nomenclatura facilita a los desarrolladores de bibliotecas la tarea de extender .NET para crear grupos jerárquicos de tipos y asignarles nombre de forma coherente e ilustrativa. También permite identificar de forma inequívoca los tipos mediante su nombre completo (es decir, por su espacio de nombres y nombre de tipo), lo que evita que se produzcan conflictos entre los nombres de tipo. Se espera que los programadores de bibliotecas usen la siguiente convención cuando creen nombres para sus propios espacios de nombres:

NombreCompañía.NombreTecnología

Por ejemplo, el espacio de nombres Microsoft.Word cumple esta directriz.

El uso de patrones de nomenclatura para agrupar tipos relacionados en espacios de nombres es una forma muy útil de compilar y documentar bibliotecas de clases. Sin embargo, este esquema de nomenclatura no influye en la visibilidad, el acceso a miembros, la herencia, la seguridad o el enlace. Se puede hacer la partición de un espacio de nombres en varios ensamblados y un ensamblado individual puede contener tipos de varios espacios de nombres. El ensamblado proporciona la estructura formal para el control de versiones, la implementación, la seguridad, la carga y la visibilidad en Common Language Runtime.

Para obtener más información sobre espacios de nombres y nombres de tipos, vea Common Type System.

System (espacio de nombres)

El espacio de nombres System es el espacio de nombres de la raíz de los tipos fundamentales de .NET. Este espacio de nombres contiene clases que representan los tipos de datos base que se utilizan en todas las aplicaciones, por ejemplo, Object (raíz de la jerarquía de herencia), Byte, Char, Array, Int32 y String. Muchos de estos tipos se corresponden con los tipos de datos primitivos que utiliza el lenguaje de programación. Al escribir código con tipos de .NET, puede usar la palabra clave correspondiente del lenguaje cuando se espera un tipo de datos base de .NET.

En la tabla siguiente se muestra una lista de los tipos base que proporciona .NET, se describe brevemente cada tipo y se indica el tipo correspondiente de Visual Basic, C#, C++ y F#.

Categoría Nombre de la clase Descripción Tipo de datos en Visual Basic Tipo de datos en C# Tipo de datos en C++/CLI Tipo de datos en F#
Integer Byte Entero de 8 bits sin signo. Byte byte unsigned char byte
SByte Entero de 8 bits con signo.

No es conforme a CLS.
SByte sbyte char o signed char sbyte
Int16 Entero de 16 bits con signo. Short short short int16
Int32 Entero de 32 bits con signo. Integer int int o long int
Int64 Entero de 64 bits con signo. Long long __int64 int64
UInt16 Entero de 16 bits sin signo.

No es conforme a CLS.
UShort ushort unsigned short uint16
UInt32 Entero de 32 bits sin signo.

No es conforme a CLS.
UInteger uint unsigned int o unsigned long uint32
UInt64 Entero de 64 bits sin signo.

No es conforme a CLS.
ULong ulong unsigned __int64 uint64
Punto flotante Half Número de punto flotante (16 bits) de media precisión.
Single Número de punto flotante (32 bits) de precisión sencilla. Single float float float32 o single
Double Número de punto flotante (64 bits) de doble precisión. Double double double float o double
Lógico Boolean Valor booleano (verdadero o falso). Boolean bool bool bool
Otros Char Carácter Unicode (16 bits). Char char wchar_t char
Decimal Valor decimal (128 bits). Decimal decimal Decimal decimal
IntPtr Entero con signo cuyo tamaño depende de la plataforma subyacente (valor de 32 bits en una plataforma de 32 bits y valor de 64 bits en una plataforma de 64 bits). nint unativeint
UIntPtr Entero sin signo cuyo tamaño depende de la plataforma subyacente (valor de 32 bits en una plataforma de 32 bits y valor de 64 bits en una plataforma de 64 bits).

No es conforme a CLS.
nuint unativeint
Object Base de la jerarquía de objetos. Object object Object^ obj
String Cadena inmutable de longitud fija de caracteres Unicode. String string String^ string

Además de los tipos de datos base, el espacio de nombres System contiene más de 100 clases, que comprenden desde las clases que controlan excepciones hasta las clases que tratan conceptos básicos en tiempo de ejecución, como los dominios de aplicación y el recolector de elementos no utilizados. El espacio de nombres System también contiene muchos espacios de nombres de segundo nivel.

Para más información sobre los espacios de nombres, use el explorador de API de .NET para examinar la biblioteca de clases .NET. La documentación de referencia de API proporciona información sobre cada espacio de nombres, sus tipos y cada uno de sus miembros.

Estructuras de datos

En .NET se incluye un conjunto de estructuras de datos que son la piedra angular de muchas aplicaciones .NET. Principalmente se trata de colecciones, pero también incluyen otros tipos.

  • Array: representa una matriz de objetos fuertemente tipados a la que se puede acceder por el índice. Tiene un tamaño fijo debido a su construcción.
  • List<T>: representa una lista de objetos fuertemente tipados a la que se puede obtener acceso por índice. Cambia automáticamente de tamaño según sea necesario.
  • Dictionary<TKey,TValue>: representa una colección de valores que se indexan mediante una clave. Se puede obtener acceso a los valores a través de la clave. Cambia automáticamente de tamaño según sea necesario.
  • Uri: proporciona una representación de objeto de un identificador uniforme de recursos (URI) y un acceso sencillo a las partes del identificador URI.
  • DateTime: representa un instante de tiempo, normalmente expresado en forma de fecha y hora del día.

API de utilidades

.NET incluye un conjunto de API de utilidades que proporcionan funcionalidad para muchas tareas importantes.

  • HttpClient: una API para enviar solicitudes HTTP y recibir respuestas HTTP de un recurso identificado por un URI.
  • XDocument: una API para cargar y consultar documentos XML con LINQ.
  • StreamReader: una API para leer archivos.
  • StreamWriter: una API para escribir archivos.

API del modelo de aplicaciones

Hay muchos modelos de aplicaciones que se pueden usar con .NET, por ejemplo, los siguientes:

  • ASP.NET: proporciona un marco de trabajo web para la compilación de servicios y sitios web. Es compatible con Windows, Linux y macOS (depende de la versión de ASP.NET).
  • .NET MAUI : una plataforma de aplicaciones para compilar aplicaciones nativas que se ejecutan en Windows, macOS, iOS y Android mediante C#.
  • Escritorio de Windows: incluye Windows Presentation Foundation (WPF) y Windows Forms.

Consulte también