Maîtriser les chaînes de caractères en C# : bonnes pratiques et méthodes essentielles
En C#, on peut utiliser les chaînes comme tableaux de caractères, mais la pratique courante est d'utiliser le mot-clé string (alias de System.String).
Création d'un objet String
Plusieurs méthodes :
- Assignation d'un littéral chaîne
- Constructeur de la classe
String - Opérateur de concaténation
+ - Propriété ou méthode retournant une chaîne
- Méthode de formatage pour convertir une valeur en représentation chaîne
Exemple
using System;
namespace ApplicationChaine
{
class Program
{
static void Main(string[] args)
{
// Depuis littéral et concaténation
string prenom = "Rowan";
string nom = "Atkinson";
string nomComplet = prenom + nom;
Console.WriteLine("Nom complet : {0}", nomComplet);
// Constructeur depuis tableau char
char[] lettres = { 'H', 'e', 'l', 'l', 'o' };
string salutations = new string(lettres);
Console.WriteLine("Salutations : {0}", salutations);
// Méthode retournant string
string[] tableau = { "Hello", "From", "Tutorials", "Point" };
string message = String.Join(" ", tableau);
Console.WriteLine("Message : {0}", message);
// Formatage
DateTime attente = new DateTime(2012, 10, 10, 17, 58, 1);
string chat = String.Format("Message envoyé à {0:t} le {0:D}", attente);
Console.WriteLine("Message : {0}", chat);
}
}
}
Résultat :
Nom complet : RowanAtkinson
Salutations : Hello
Message : Hello From Tutorials Point
Message : Message envoyé à 17:58 le mercredi 10 octobre 2012
Propriétés de la classe String
| # | Propriété | Description |
|---|---|---|
| 1 | Chars | Obtient le caractère à une position donnée |
| 2 | Length | Nombre de caractères dans la chaîne |
Méthodes principales de la classe String
La classe String possède de nombreuses méthodes. Voici les plus courantes :
| Méthode | Description |
|---|---|
Compare(strA, strB) | Compare deux chaînes, retourne un entier indiquant leur ordre |
Compare(strA, strB, ignoreCase) | Compare en ignorant la casse si paramètre true |
Concat(str0, str1...) | Concatène 2 à 4 chaînes |
Contains(value) | Vérifie si une sous-chaîne existe |
Copy(str) | Crée nouvelle chaîne avec même valeur |
CopyTo(...) | Copie caractères vers tableau Unicode |
EndsWith(value) | Vérifie si la chaîne se termine par la valeur |
Equals(value) | Vérifie l'égalité avec une autre chaîne |
Format(format, arg0) | Remplace éléments de format par représentation chaîne |
IndexOf(value) | Index de la première occurrence (caractère ou chaîne) |
IndexOfAny(anyOf) | Index de la première occurrence d'un des caractères du tableau |
Insert(startIndex, value) | Insère une chaîne à une position donnée |
IsNullOrEmpty(value) | Vérifie si null ou vide |
Join(separator, value[]) | Concatène éléments d'un tableau avec séparateur |
LastIndexOf(value) | Index de la dernière occurrence |
Remove(startIndex[, count]) | Supprime caractères à partir d'une position |
Replace(old, new) | Remplace toutes occurrences (char ou string) |
Split(separator[, count]) | Divise la chaîne en sous-chaînes selon séparateurs |
StartsWith(value) | Vérifie si la chaîne commence par la valeur |
ToCharArray() | Retourne tableau de caractères Unicode |
ToLower() | Copie en minuscules |
ToUpper() | Copie en majuscules |
Trim() | Supprime espaces début/fin |
Exemples pratiques
Comparaison de chaînes
string str1 = "This is test";
string str2 = "This is text";
if (String.Compare(str1, str2) == 0)
Console.WriteLine("Égales");
else
Console.WriteLine("Différentes");
// Résultat : Différentes
Vérification de sous-chaîne
string str = "This is test";
if (str.Contains("test"))
Console.WriteLine("La séquence 'test' a été trouvée.");
// Résultat : La séquence 'test' a été trouvée.
Extraction de sous-chaîne
string str = "Last night I dreamt of San Pedro";
string substr = str.Substring(23);
Console.WriteLine(substr); // San Pedro
Jointure de chaînes
string[] lignes = { "Ligne 1", "Ligne 2", "Ligne 3" };
string resultat = String.Join("\n", lignes);
// Résultat : chaque ligne sur une nouvelle ligne
Langue C
- Classes et objets C# : Fondations pour une POO robuste
- Maîtriser les chaînes C# : Fondamentaux, opérations et techniques avancées
- Maîtriser les chaînes de caractères en Java : Création, méthodes et bonnes pratiques
- Le pattern Singleton en Java expliqué : implémentation et utilisation sûre
- Maîtriser les représentations en chaînes dans les enums Java
- Maîtriser les fonctions de chaînes C++ : strcpy, strcat, strlen, strcmp – Exemples pratiques
- Chaînes de caractères en C simplifiées : Déclaration, entrée, sortie et fonctions de bibliothèque
- Maîtriser les opérations sur chaînes Python : Replace, Join, Split, Reverse et Conversion de casse
- Classe Strings Java : Maîtriser la Création et la Manipulation de Chaînes