Partilhar via


Visão geral da biblioteca de classes .NET

As APIs do .NET incluem classes, interfaces, delegados e tipos de valor que agilizam e otimizam o processo de desenvolvimento e fornecem acesso à funcionalidade do sistema. Para facilitar a interoperabilidade entre linguagens, a maioria dos tipos .NET são compatíveis com CLS e, portanto, podem ser usados a partir de qualquer linguagem de programação cujo compilador esteja em conformidade com a especificação de linguagem comum (CLS).

Os tipos .NET são a base sobre a qual os aplicativos, componentes e controles .NET são criados. O .NET inclui tipos que executam as seguintes funções:

  • Representar tipos de dados de base e exceções.
  • Encapsular estruturas de dados.
  • Execute E/S.
  • Acesse informações sobre tipos carregados.
  • Invoque verificações de segurança do .NET.
  • Forneça acesso a dados, GUI avançada do lado do cliente e GUI do lado do cliente controlada pelo servidor.

O .NET fornece um rico conjunto de interfaces, bem como classes abstratas e concretas (não abstratas). Você pode usar as classes concretas como estão ou, em muitos casos, derivar suas próprias classes a partir delas. Para usar a funcionalidade de uma interface, você pode criar uma classe que implementa a interface ou derivar uma classe de uma das classes .NET que implementa a interface.

Convenções de nomenclatura

Os tipos .NET usam um esquema de nomenclatura de sintaxe de pontos que conota uma hierarquia. Essa técnica agrupa tipos relacionados em namespaces para que possam ser pesquisados e referenciados mais facilmente. A primeira parte do nome completo — até o ponto mais à direita — é o nome do namespace. A última parte do nome é o nome do tipo. Por exemplo, System.Collections.Generic.List<T> representa o List<T> tipo, que pertence ao System.Collections.Generic namespace. Os tipos podem System.Collections.Generic ser usados para trabalhar com coleções genéricas.

Esse esquema de nomenclatura torna mais fácil para os desenvolvedores de bibliotecas que estendem o .NET criar grupos hierárquicos de tipos e nomeá-los de maneira consistente e informativa. Ele também permite que os tipos sejam identificados inequivocamente por seu nome completo (ou seja, por seu namespace e nome do tipo), o que evita colisões de nome de tipo. Espera-se que os desenvolvedores de bibliotecas usem a seguinte convenção ao criar nomes para seus namespaces:

Nome da Empresa.TecnologiaNome

Por exemplo, o namespace Microsoft.Word está em conformidade com esta diretriz.

O uso de padrões de nomenclatura para agrupar tipos relacionados em namespaces é uma maneira útil de criar e documentar bibliotecas de classes. No entanto, esse esquema de nomenclatura não tem efeito sobre visibilidade, acesso de membros, herança, segurança ou vinculação. Um namespace pode ser particionado em vários assemblies e um único assembly pode conter tipos de vários namespaces. O assembly fornece a estrutura formal para versionamento, implantação, segurança, carregamento e visibilidade no Common Language Runtime.

Para obter mais informações sobre namespaces e nomes de tipo, consulte Common Type System.

Namespace do sistema

O System namespace é o namespace raiz para tipos fundamentais no .NET. Esse namespace inclui classes que representam os tipos de dados base usados por todos os aplicativos, por exemplo, Object (a raiz da hierarquia de herança), Byte, , CharArray, Int32e String. Muitos desses tipos correspondem aos tipos de dados primitivos que sua linguagem de programação usa. Quando você escreve código usando tipos .NET, você pode usar a palavra-chave correspondente do seu idioma quando um tipo de dados de base .NET é esperado.

A tabela a seguir lista os tipos base que o .NET fornece, descreve brevemente cada tipo e indica o tipo correspondente em Visual Basic, C#, C++ e F#.

Categoria Nome da classe Description Tipo de dados do Visual Basic Tipo de dados C# Tipo de dados C++/CLI Tipo de dados F#
Número inteiro Byte Um inteiro não assinado de 8 bits. Byte byte unsigned char byte
SByte Um inteiro assinado de 8 bits.

Não compatível com CLS.
SByte sbyte char ou signed char sbyte
Int16 Um inteiro assinado de 16 bits. Short short short int16
Int32 Um inteiro assinado de 32 bits. Integer int int ou long int
Int64 Um inteiro assinado de 64 bits. Long long __int64 int64
UInt16 Um inteiro não assinado de 16 bits.

Não compatível com CLS.
UShort ushort unsigned short uint16
UInt32 Um inteiro não assinado de 32 bits.

Não compatível com CLS.
UInteger uint unsigned int ou unsigned long uint32
UInt64 Um inteiro não assinado de 64 bits.

Não compatível com CLS.
ULong ulong unsigned __int64 uint64
Ponto flutuante Half Um número de ponto flutuante de meia precisão (16 bits).
Single Um número de ponto flutuante de precisão única (32 bits). Single float float float32 ou single
Double Um número de ponto flutuante de precisão dupla (64 bits). Double double double float ou double
Lógico Boolean Um valor booleano (true ou false). Boolean bool bool bool
Outro Char Um caractere Unicode (16 bits). Char char wchar_t char
Decimal Um valor decimal (128 bits). Decimal decimal Decimal decimal
IntPtr Um inteiro assinado cujo tamanho depende da plataforma subjacente (um valor de 32 bits em uma plataforma de 32 bits e um valor de 64 bits em uma plataforma de 64 bits). nint unativeint
UIntPtr Um inteiro não assinado cujo tamanho depende da plataforma subjacente (um valor de 32 bits em uma plataforma de 32 bits e um valor de 64 bits em uma plataforma de 64 bits).

Não compatível com CLS.
nuint unativeint
Object A raiz da hierarquia de objetos. Object object Object^ obj
String Uma cadeia de caracteres Unicode imutável e de comprimento fixo. String string String^ string

Além dos tipos de dados base, o System namespace contém mais de 100 classes, variando de classes que manipulam exceções a classes que lidam com conceitos de tempo de execução principais, como domínios de aplicativo e o coletor de lixo. O System namespace também contém muitos namespaces de segundo nível.

Para obter mais informações sobre namespaces, use o .NET API Browser para navegar na Biblioteca de Classes do .NET. A documentação de referência da API fornece documentação sobre cada namespace, seus tipos e cada um de seus membros.

Estruturas de dados

O .NET inclui um conjunto de estruturas de dados que são os cavalos de batalha de muitos aplicativos .NET. Estas são maioritariamente coleções, mas também incluem outros tipos.

  • Array - Representa uma matriz de objetos fortemente tipados que podem ser acessados por índice. Tem um tamanho fixo, pela sua construção.
  • List<T> - Representa uma lista fortemente tipada de objetos que podem ser acessados por índice. É redimensionado automaticamente conforme necessário.
  • Dictionary<TKey,TValue> - Representa uma coleção de valores que são indexados por uma chave. Os valores podem ser acessados via chave. É redimensionado automaticamente conforme necessário.
  • Uri - Fornece uma representação de objeto de um identificador de recurso uniforme (URI) e fácil acesso às partes do URI.
  • DateTime - Representa um instante no tempo, normalmente expresso como uma data e hora do dia.

APIs de utilidade

O .NET inclui um conjunto de APIs de utilitários que fornecem funcionalidade para muitas tarefas importantes.

  • HttpClient - Uma API para enviar solicitações HTTP e receber respostas HTTP de um recurso identificado por um URI.
  • XDocument - Uma API para carregar e consultar documentos XML com LINQ.
  • StreamReader - Uma API para leitura de arquivos.
  • StreamWriter - Uma API para escrever ficheiros.

APIs de modelo de aplicativo

Há muitos modelos de aplicativos que podem ser usados com o .NET, por exemplo:

  • ASP.NET - Um framework web para a construção de sites e serviços. Compatível com Windows, Linux e macOS (depende ASP.NET versão).
  • .NET MAUI - Uma plataforma de aplicativos para criar aplicativos nativos que são executados no Windows, macOS, iOS e Android usando C#.
  • Windows Desktop - Inclui Windows Presentation Foundation (WPF) e Windows Forms.

Consulte também