- La classe
Math
La classe Math fournit des constantes et des méthodes statiques pour les fonctions trigonométriques, logarithmiques et autres fonctions mathématiques générales.
Constantes
E: La base du logarithme naturel, représentée par la constante e.PI: Le rapport de la circonférence d'un cercle à son diamètre, représenté par la constante π.Tau: Le nombre d'radians dans une révolution, représenté par la constante τ.
Méthodes Courantes
Abs(double x): Renvoie la valeur absolue d'un nombre.Acos(double x): Renvoie l'angle dont le cosinus est le nombre spécifié.Asin(double x): Renvoie l'angle dont le sinus est le nombre spécifié.Atan(double x): Renvoie l'angle dont la tangente est le nombre spécifié.Ceiling(decimal d): Renvoie la plus petite entière supérieure ou égale au nombre décimal spécifié.Cos(double x): Renvoei le cosinus de l'angle spécifié.DivRem(decimal a, decimal b, out decimal result): Génère le quotient et le reste de la division de deux nombres signés.Pow(double x, double y): Renvoie le nombre spécifié élevé à la puissance spécifiée.Floor(decimal d): Renvoie le plus grand entier inférieur ou égal au nombre décimal spécifié.Max(double x, double y): Renvoie le plus grand des deux nombres.Min(decimal x, decimal y): Renvoie le plus petit des deux nombres décimaux.Round(decimal d): Arrondit une valeur décimale à l'entier le plus proche. Les valeurs intermédiaires sont arrondies à l'entier pair le plus proche.Sin(double x): Renvoie le sinus de l'angle spécifié.Sqrt(double x): Renvoie la racine carrée du nombre spécifié.Tan(double x): Renvoie la tangente de l'angle spécifié.
- La classe
String
La classe String représente une séquence de caractères immuable. Voici quelques-unes de ses propriétés et méthodes les plus utilisées :
| Nom | Description |
|---|---|
Length |
Obtient le nombre de caractères dans la chaîne. |
IndexOf(string value) |
Retourne l'indice de la première occurrence d'une sous-chaîne. |
LastIndexOf(string value) |
Retourne l'indice de la dernière occurrence d'une sous-chaîne. |
StartsWith(string value) |
Indique si la chaîne commence par une sous-chaîne spécifiée. |
EndsWith(string value) |
Indique si la chaîne se termine par une sous-chaîne spécifiée. |
ToLower() |
Convertit tous les caractères de la chaîne en minuscules. |
ToUpper() |
Convertit tous les caractères de la chaîne en majuscules. |
Trim() |
Supprime tous les espaces blancs de début et de fin de la chaîne. |
Trim(params char[] trimChars) |
Supprime toutes les occurrences des caractères spécifiés du début et de la fin de la chaîne. |
Remove(int startIndex) |
Supprime un nombre spécifié de caractères à partir d'une position spécifiée. |
TrimStart() |
Supprime tous les espaces blancs de début de la chaîne. |
TrimEnd() |
Supprime tous les espaces blancs de fin de la chaîne. |
PadLeft(int totalWidth, char paddingChar) |
Aligne le contenu de la chaîne à gauche en remplissant avec des caractères spécifiés pour atteindre une largeur totale. |
PadRight(int totalWidth, char paddingChar) |
Aligne le contenu de la chaîne à droite en remplissant avec des caractères spécifiés pour atteindre une largeur totale. |
Split(params char[] separator) |
Divise la chaîne en sous-chaînes en fonction des caractères séparateurs spécifiés. |
Replace(char oldChar, char newChar) |
Remplace toutes les occurrences d'un caractère spécifié par un autre caractère. |
Substring(int startIndex) |
Extrait une sous-chaîne de la chaîne. Les caractères extraits commencent à une position spécifiée et continuent jusqu'à la fin de la chaîne. |
Insert(int startIndex, string value) |
Insère une chaîne dans une autre chaîne à une position spécifiée. |
Concat(params object[] args) |
Concatène les représentations de chaînes de plusieurs objets. |
- La classe
StringBuilder
StringBuilder représente une chaîne de caractères modifiable. Elle est conçue pour être plus efficace lors de la concaténation ou de la modification fréquente de chaînes par rapport à la classe String, qui est immuable.
Exemple d'utilisation :
// Crée un StringBuilder avec une capacité initiale de 50 caractères et initialisé avec "ABC".
StringBuilder builder = new StringBuilder("ABC", 50);
// Ajoute les caractères D, E, F à la fin.
builder.Append(new char[] { 'D', 'E', 'F' });
// Ajoute une chaîne formatée à la fin.
builder.AppendFormat("GHI{0}{1}", 'J', 'K');
// Affiche la longueur actuelle et le contenu du StringBuilder.
Console.WriteLine($"Longueur : {builder.Length}, Contenu : {builder.ToString()}");
// Insère "Alphabet : " au début.
builder.Insert(0, "Alphabet: ");
// Remplace tous les 'k' par des 'K'.
builder.Replace('k', 'K');
// Affiche la longueur finale et le contenu.
Console.WriteLine($"Longueur finale : {builder.Length}, Contenu final : {builder.ToString()}");
Contrairement à String qui crée une nouvelle instance pour chaque modification, StringBuilder modifie son tampon interne. Cela le rend idéal pour les boucles où de nombreuses manipulations de chaînes sont effectuées.
Capacité et Allocation Mémoire
La capacité par défaut d'un StringBuilder est de 16 caractères. Vous pouvez spécifier une capacité initiale lors de la création ou la modifier ultérieurement via la propriété Capacity ou la méthode EnsureCapacity. Il est important de noter que si la nouvelle capacité est inférieure à la capacité actuelle, une exception peut être levée pour la propriété Capacity, tandis que EnsureCapacity ne fera rien dans ce cas.
- La classe
Random
Random est utilisé pour générer des séquences de nombres pseudo-aléatoires.
Méthodes Courantes
Next(): Renvoie un entier aléatoire non négatif.Next(int maxValue): Ranvoie un entier aléatoire non négatif inférieur àmaxValue.Next(int minValue, int maxValue): Renvoie un entier aléatoire dans la plage spécifiée (minValueinclus,maxValueexclus).NextDouble(): Renvoie un nombre à virgule flottante aléatoire compris entre 0.0 (inclus) et 1.0 (exclus).Sample(): Renvoie un nombre à virgule flottante aléatoire compris entre 0.0 et 1.0.
- La classe
Array
Array est la classe de base pour tous les types de tableaux en C#.
Propriétés Courantes
IsFixedSize: Indique si le tibleau a une taille fixe.IsReadOnly: Indique si le tableau est en lecture seule.Length: Obtient le nombre total d'éléments dans toutes les dimensions du tableau.LongLength: Obtient le nombre total d'éléments dans toutes les dimensions du tableau sous forme delong.Rank: Obtient le nombre de dimensions (rang) du tableau.
Méthodes Courantes
Clear(Array array, int index, int length): Définit un nombre spécifié d'éléments dans un tableau à la valeur par défaut (zéro, false ou null).Copy(Array sourceArray, Array destinationArray, int length): Copie une plage d'éléments d'un tableau source dans un tableau de destination.CopyTo(Array array, int index): Copie tout le contenu d'un tableau unidimensionnel dans un autre tableau unidimensionnel, en commençant à l'index spécifié.GetLength(int dimension): Obtient le nombre d'éléments dans la dimension spécifiée.GetLongLength(int dimension): Obtient le nombre d'éléments dans la dimension spécifiée sous forme delong.GetLowerBound(int dimension): Obtient la limite inférieure du tableau dans la dimension spécifiée.GetValue(int index): Obtient la valeur de l'élément à la position spécifiée dans un tableau unidimensionnel.IndexOf(Array array, object value): Recherche un objet spécifié et retourne l'indice de sa première occurrence dans le tableau unidimensionnel entier.Reverse(Array array): Inverse l'ordre des éléments dans un tableau unidimensionnel entier.SetValue(object value, int index): Définit la valeur de l'élément à la position spécifiée dans un tableau unidimensionnel.Sort(Array array): Trie les éléments d'un tableau unidimensionnel entier en utilisant l'implémentationIComparablede chaque élément.
- Expressions Régulières
Les expressions régulières (regex) sont des séquences de caractères qui définissent un modèle de recherche. Elles sont puissantes pour la manipulation et la validation de chaînes de caractères.
Utilisation :
// Crée un objet Regex avec un modèle.
Regex regex = new Regex(@"\d+"); // Exemple : un ou plusieurs chiffres
// Vérifie si une chaîne correspond au modèle.
bool matchFound = regex.IsMatch("Il y a 123 pommes."); // Renvoie true
Les expressions régulières sont utiles pour la validation de formats (numéros de téléphone, emails), l'extraction d'informations et le remplacement de sous-chaînes.
- Chaînes de Formatage
Les chaînes de formatage permettent de créer des chaînes de caractères structurées à partir de variables et de constantes.
Exemples :
// Utilisation avec Console.WriteLine
int a = 3, b = 4;
Console.WriteLine("Les valeurs sont {0} et {1}.", a, b); // Affiche "Les valeurs sont 3 et 4."
// Utilisation avec string.Format
string formattedString = string.Format("Les valeurs sont {0} et {1}.", a, b); // "Les valeurs sont 3 et 4."
Format Standard des Nombres
Voici quelques spécificateurs de format standard courants pour les types numériques :
| Spécificateur | Description | Exemple (en-US) |
|---|---|---|
C (Monétaire) |
Affiche une valeur monétaire. | (1234.567m).ToString("C2") -> $1,234.57 |
D (Décimal) |
Affiche un nombre entier. La précision spécifie le nombre minimum de chiffres. | (123).ToString("D5") -> 00123 |
E (Exponentiel) |
Affiche un nombre en notation scientifique. | (12345.678).ToString("E2") -> 1.23E+004 |
F (Fixe) |
Affiche un nombre avec un nombre fixe de décimales. | (123.456m).ToString("F1") -> 123.5 |
G (Général) |
Représentation la plus compacte, soit fixe, soit scientifique. | (123.456).ToString("G") -> 123.456 |
N (Nombre) |
Affiche un nombre avec des séparateurs de groupe. | (12345.67).ToString("N2") -> 12,345.67 |
P (Pourcentage) |
Multiplie par 100 et ajoute le signe %. | (0.456).ToString("P1") -> 45.6 % |
X (Hexadécimal) |
Affiche un nombre en format hexadécimal. | (255).ToString("X") -> FF |
Exemples de Formatage :
decimal amount = 123.456m;
Console.WriteLine(amount.ToString("C2")); // Affiche "$123.46"
int quantity = 12;
Console.WriteLine($"Quantité : {quantity:D3}"); // Affiche "Quantité : 012"
double ratio = 0.9876;
Console.WriteLine($"Taux : {ratio:P}"); // Affiche "Taux : 98.76 %"