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.