Bibliothèque standard C# (.NET) : aperçu complet
La bibliothèque standard .NET (Base Class Library, BCL) est le socle fondamental pour le développement en C#. Elle fournit des milliers de classes, interfaces, structures et énumérations prêtes à l'emploi qui couvrent pratiquement tous les aspects de la programmation : du travail avec les nombres et les chaînes de caractères à la mise en réseau et à l'accès aux bases de données. Dans cet aperçu, nous examinerons les espaces de noms clés et leurs fonctionnalités.
Espace de noms System : les bases fondamentales
L'espace de noms System contient les types de données de base utilisés dans toutes les applications C#. Cela inclut :
- Types primitifs :
Boolean,Byte,Int32,Double,Char,Stringet autres. Chacun dispose de méthodes de conversion, de comparaison et de formatage. - Classe
Math: fournit des constantes (π, e) et des méthodes statiques pour les calculs trigonométriques, logarithmiques et statistiques. - Classe
Convert: permet de convertir en toute sécurité des types de données (par exemple, une chaîne en nombre). - Classe
Console: gère les entrées-sorties dans une application console.
using System;
int a = 42;double b = Math.Sqrt(a);string text = Convert.ToString(a);Console.WriteLine($"La racine carrée de {text} est {b}");System.Collections et System.Collections.Generic : travailler avec les collections
Ces espaces de noms contiennent des classes pour stocker et gérer des groupes d'objets. Les applications modernes doivent utiliser les versions génériques de System.Collections.Generic, car elles offrent la sécurité de type et de meilleures performances.
List<T>— un tableau dynamique.Dictionary<TKey, TValue>— une collection « clé-valeur ».Queue<T>etStack<T>— implémentations de file d'attente et de pile.HashSet<T>— un ensemble d'éléments uniques.
using System.Collections.Generic;
var numbers = new List<int> { 1, 2, 3, 4, 5 };numbers.Add(6);numbers.Remove(3);
var map = new Dictionary<string, int>{ { "un", 1 }, { "deux", 2 }};
if (map.ContainsKey("un")) Console.WriteLine(map["un"]);System.Linq : langage de requête intégré
LINQ (Language Integrated Query) permet d'effectuer des requêtes sur des collections, des bases de données, du XML et d'autres sources de données à l'aide d'une syntaxe unifiée. Les principales méthodes d'extension sont définies dans l'espace de noms System.Linq :
Where— filtrage.Select— projection.OrderBy/ThenBy— tri.GroupBy— regroupement.Aggregate,Sum,Count— opérations d'agrégation.
using System.Linq;
int[] scores = { 85, 92, 78, 95, 88 };var highScores = scores .Where(s => s >= 90) .OrderByDescending(s => s) .Select(s => $"Note : {s}");
foreach (var item in highScores) Console.WriteLine(item);System.IO : travailler avec le système de fichiers et les flux
L'espace de noms System.IO fournit des classes pour la lecture/écriture de fichiers, le travail avec les répertoires et la gestion des flux de données. Les classes principales :
FileetFileInfo— méthodes statiques et d'instance pour travailler avec les fichiers.DirectoryetDirectoryInfo— gestion des dossiers.StreamReader/StreamWriter— lecture et écriture de fichiers texte.
Aussi dans la bibliothèque
Journalisation en Go : Aperçu de la bibliothèque standard log et de ses alternatives
Travailler avec les archives ZIP en Kotlin : création, lecture et extraction
Tests en Swift (iOS/macOS) : frameworks et outils
Typegoose pour TypeScript : guide complet avec exemples