Présentation des bibliothèques de classes .NET

Les API .NET incluent des classes, des interfaces, des délégués et des types valeur qui permettent d’accélérer et d’optimiser le processus de développement et de fournir l’accès aux fonctions du système. Pour faciliter l'interopérabilité entre les langages, la plupart des types .NET sont conformes CLS (Common Language Specification) et peuvent, par conséquent, être utilisés à partir de n'importe quel langage de programmation dont le compilateur est conforme CLS.

Les types .NET sont le fondement sur lequel les applications, composants et contrôles .NET sont construits. .NET comprend des types qui effectuent les fonctions suivantes :

  • Représenter les types de données de base et les exceptions.
  • Encapsuler les structures de données.
  • Effectuer les E/S.
  • Accéder aux informations concernant les types chargés.
  • Appeler les vérifications de sécurité .NET.
  • Fournir l'accès aux données, l'interface GUI riche côté client et l'interface GUI côté client contrôlée par le serveur.

.NET fournit un ensemble complet d'interfaces, ainsi que des classes abstraites et concrètes (non abstraites). Vous pouvez utiliser les classes concrètes telles quelles ou, dans de nombreux cas, en dériver vos propres classes. Pour utiliser les fonctionnalités d’une interface, vous pouvez créer une classe qui implémente l’interface ou dériver une classe de l’une des classes .NET qui implémentent l’interface.

Conventions d’affectation de noms

Les types .NET utilisent un schéma de nommage dans lequel les points indiquent une hiérarchie. Cette technique regroupe les types associés en espaces de noms de sorte qu'ils peuvent être recherchés et référencés plus facilement. La première partie du nom complet (jusqu’au point le plus à droite) constitue le nom de l’espace de noms. La dernière partie du nom est le nom du type. Par exemple, System.Collections.Generic.List<T> représente le type List<T>, qui appartient à l’espace de noms System.Collections.Generic. Les types dans System.Collections.Generic peuvent être utilisés pour manipuler des collections génériques.

Pour les développeurs de bibliothèques qui étendent .NET, ce schéma d’affectation de noms facilite la création de groupes hiérarchiques de types et l’attribution d’un nom cohérent et descriptif. Il permet également d'identifier clairement les types par leur nom complet (autrement dit, par leur espace de noms et nom de type) et d'empêcher les collisions de nom de type. Les développeurs de bibliothèques sont censés utiliser la convention suivante lors de l'affectation de noms aux nouveaux espaces de noms :

NomSociété.NomTechnologie

Par exemple, l’espace de noms Microsoft.Word est conforme à cette indication.

L’utilisation de modèles de nommage pour regrouper des types associés dans des espaces de noms est utile pour générer et documenter les bibliothèques de classes. Cependant, ce schéma d’affectation de noms n’a pas d’effet sur la visibilité, l’accès aux membres, l’héritage, la sécurité ou la liaison. Un espace de noms peut être partitionné en plusieurs assemblys et un seul assembly peut contenir des types provenant de plusieurs espaces de noms. L'assembly fournit la structure formelle pour le versioning, le déploiement, la sécurité, le chargement et la visibilité dans le Common Language Runtime.

Pour plus d’informations sur les espaces de noms et les noms des types, consultez Système de type commun (CTS, Common Type System).

System (espace de noms)

L'espace de noms System est l'espace de noms racine pour les types fondamentaux dans .NET. Cet espace de noms comprend les classes qui représentent les types de données de base utilisés par toutes les applications, par exemple Object (racine de la hiérarchie d’héritage), Byte, Char, Array, Int32 et String. Nombre de ces types correspondent aux types de données primitifs que votre langage de programmation utilise. Lorsque vous écrivez du code avec des types .NET, vous pouvez utiliser le mot clé correspondant de votre langage lorsqu’un type de données de base .NET est prévu.

Le tableau suivant énumère les types de base fournis par .NET, décrit brièvement chaque type et indique le type correspondant en Visual Basic, C#, C++ et F#.

Category Nom de classe Description Type de données Visual Basic Type de données C# Type de données C++/CLI Type de données F#
Integer Byte Entier non signé 8 bits. Byte byte unsigned char byte
SByte Entier signé 8 bits.

Non conforme CLS.
SByte sbyte char ou signed char sbyte
Int16 Entier signé 16 bits. Short short short int16
Int32 Entier signé 32 bits. Integer int int ou long int
Int64 Entier signé 64 bits. Long long __int64 int64
UInt16 Entier non signé 16 bits.

Non conforme CLS.
UShort ushort unsigned short uint16
UInt32 Entier non signé 32 bits.

Non conforme CLS.
UInteger uint unsigned int ou unsigned long uint32
UInt64 Entier 64 bits non signé.

Non conforme CLS.
ULong ulong unsigned __int64 uint64
Virgule flottante Half Nombre à virgule flottante (16 bits) demi-précision.
Single Nombre à virgule flottante (32 bits) simple précision. Single float float float32 ou single
Double Nombre à virgule flottante (64 bits) double précision. Double double double float ou double
Logical Boolean Valeur booléenne (true ou false). Boolean bool bool bool
Autre Char Caractère Unicode (16 bits). Char char wchar_t char
Decimal Valeur décimale (128 bits). Decimal decimal Decimal decimal
IntPtr Entier signé dont la taille dépend de la plateforme sous-jacente (valeur 32 bits sur une plateforme 32 bits et valeur 64 bits sur une plateforme 64 bits). nint unativeint
UIntPtr Entier non signé dont la taille dépend de la plateforme sous-jacente (valeur 32 bits sur une plateforme 32 bits et valeur 64 bits sur une plateforme 64 bits).

Non conforme CLS.
nuint unativeint
Object Racine de la hiérarchie d'objet. Object object Object^ obj
String Chaîne immuable à longueur fixe de caractères Unicode. String string String^ string

En plus des types de données de base, l'espace de noms System contient plus de 100 classes, de celles qui gèrent les exceptions à celles qui traitent des principaux concepts relatifs au runtime, tels que les domaines d'application et le « garbage collector ». L'espace de noms System contient également de nombreux espaces de noms de deuxième niveau.

Pour plus d’informations sur les espaces de noms, utilisez le Navigateur d’API .NET pour parcourir la bibliothèque de classes .NET. La documentation de référence sur les API fournit des informations sur chaque espace de noms, ses types et chacun de ses membres.

Structures de données

.NET inclut un ensemble de structures de données qui sont les bêtes de somme de beaucoup d’applications .NET. Il s’agit essentiellement de collections, mais on retrouve également d’autres types.

  • Array : Représente un tableau d’objets fortement typés accessibles par index. Sa taille est fixe, par sa construction.
  • List<T> : Représente une liste fortement typée d’objets accessibles par index. Est automatiquement redimensionnée en fonction des besoins.
  • Dictionary<TKey,TValue> : Représente une collection de valeurs indexées par une clé. Les valeurs sont accessibles par une clé. Est automatiquement redimensionnée en fonction des besoins.
  • Uri : Fournit une représentation objet d’un URI (Uniform Resource Identifier) et un accès simplifié aux parties de l’identificateur.
  • DateTime : Représente un instant, généralement exprimé sous la forme d’une date et d’une heure.

API d’utilitaire

.NET inclut un ensemble d’API d’utilitaire qui fournissent des fonctionnalités pour de nombreuses tâches importantes.

  • HttpClient : API qui permet d’envoyer des requêtes HTTP et de recevoir des réponses HTTP d’une ressource identifiée par un URI.
  • XDocument : API qui permet de charger et d’interroger des documents XML avec LINQ.
  • StreamReader : API qui permet de lire des fichiers.
  • StreamWriter : API qui permet d’écrire des fichiers.

API de modèle d’application

Il existe de nombreux modèles d’application qui peuvent être utilisés avec .NET, par exemple :

  • ASP.NET : une infrastructure web pour créer des sites et services web. Pris en charge sur Windows, Linux et macOS (dépend de la version d’ASP.NET).
  • .NET MAUI : Plateforme d’applications permettant de créer des applications natives qui s’exécutent sur Windows, macOS, iOS et Android en utilisant C#.
  • Bureau Windows : Inclut Windows Presentation Foundation (WPF) et Windows Forms.

Voir aussi