CodeGym /Cours /C# SELF /Les chaînes et le texte : type string, bosser avec les ch...

Les chaînes et le texte : type string, bosser avec les chaînes

C# SELF
Niveau 2, Leçon 2
Disponible

1. On creuse le type string

Le type string, c’est un des types les plus utilisés en C#. Peut-être même le plus utilisé. Il est juste génial, parce que tu peux stocker du texte dedans. Et en plus, contrairement aux types int et double, les objets de type string ont plein de fonctions différentes, et avec ces fonctions tu peux faire plein de trucs sympas.

En plus, tous les objets en C# (genre vraiment tous) peuvent être convertis en type string. Ou, pour être plus précis, tous les objets en C# renvoient leur représentation textuelle (sous forme de chaîne). On va revenir souvent sur ce type (il est vraiment trop utile et cool), mais aujourd’hui on va voir les bases.

Créer des variables de type string

Le type string est fait pour stocker des chaînes (du texte). Pour créer dans ton code une variable qui pourra contenir du texte, il faut utiliser la commande :

string nom;
Création d’une variable de type string

Où nom — c’est le nom de la variable.

Exemples :

Commande Description
string name; On crée une variable string name
string message; On crée une variable string message
string text; On crée une variable string text

Comme avec les types int et double, tu peux utiliser une écriture courte pour créer plusieurs variables de type string :

string nom1, nom2, nom3;
Création de variables de type string

2. Affecter des valeurs aux variables de type string

Pour mettre une valeur dans une variable de type string, il faut utiliser la commande :

nom = "valeur";
Affectation d’une valeur à une variable de type string

Et voilà la première différence avec les types qu’on a déjà vus. Toutes les valeurs de type string sont des chaînes de texte et doivent être mises entre guillemets doubles.

Exemples :

Commande Remarque
string name = "Anna"; La variable name contient le texte Anna
string city = "New York"; La variable city contient le texte New York
string message = "Hello!"; La variable message contient le texte Hello!

3. Initialiser des variables de type string

Comme pour les types int et double, tu peux initialiser les variables de type string direct à la création. D’ailleurs, tu peux faire ça avec tous les types en C#. Donc on n’en reparlera plus.

string nom1 = "chaine1", nom2 = "chaine2";
Création de variables de type string

Exemple de création et d’initialisation de variables

string name = "Anna", city = "New York", message = "Hello!";

On ne peut changer que les variables qui ont une valeur

Le compilateur C# va râler si tu déclares une variable sans lui donner de valeur et que tu essaies de l’utiliser.

Ce code ne marchera pas :

string name;
Console.WriteLine(name); // La variable name n’est pas initialisée. Le programme ne compilera pas.
int a;
a++; // La variable a n’est pas initialisée. Le programme ne compilera pas.
double x;
double y = x; // La variable x n’est pas initialisée. Le programme ne compilera pas.

4. Concaténation — coller des chaînes

Il y a un truc super simple et cool que tu peux faire avec les chaînes en C# — tu peux les coller ensemble. Cette opération s’appelle concaténation. Ou, pour que ça reste en tête — Kon-Ka-Té-Na-Tion. Mais souvent on dit juste « coller des chaînes » ou même « additionner des chaînes ».

Pour coller deux chaînes, il faut utiliser le signe +. C’est super simple :

"valeur1" + "valeur2"
Concaténation de deux chaînes

Exemples :

Commande Remarque
string name = "Anna" + "Anna"; name contient la chaîne AnnaAnna
string city = "New York" + "Anna"; city contient la chaîne New YorkAnna
string message = "Hello! " + "Anna"; message contient la chaîne Hello! Anna

Bien sûr, tu peux additionner plein de chaînes en même temps, et aussi additionner des chaînes et des variables.

Exemples :

string name = "Anna";                // name contient la chaîne Anna
string city = "New York";           // city contient la chaîne New York
string message = "Hello!" + city + name + city; // message contient la chaîne Hello!New YorkAnnaNew York

5. Chaînes vides

Dans le dernier exemple, tu vois que le texte dans la variable message n’est pas super lisible, parce qu’il manque des espaces. Pour mettre un espace ou plusieurs, il suffit de les écrire dans le code et de les mettre entre guillemets doubles. C’est plus simple que tu crois :

" "
Chaîne contenant un espace

D’ailleurs, si tu ne mets rien entre les guillemets (juste deux guillemets doubles à la suite), tu obtiens ce qu’on appelle une « chaîne vide » :

""
Chaîne vide

D’un côté, elle existe, mais de l’autre, si tu l’affiches à l’écran, rien ne s’affiche. Et si tu la colles à d’autres chaînes, il ne se passe rien. C’est un peu comme le zéro, mais pour les chaînes.

6. Échapper les caractères spéciaux dans les chaînes

Tu sais déjà que les chaînes sont entourées de guillemets doubles. Mais que faire si tu veux mettre des guillemets dans la chaîne ? Si tu mets des guillemets dans la chaîne, le compilateur ne va-t-il pas croire que c’est la fin de la chaîne ?

Exactement. Il va croire. Donc les guillemets à l’intérieur du texte sont remplacés par la paire de caractères \". Et le code va ressembler à ça :

string quote = "Il a dit : \"Bonjour !\"";
Console.WriteLine(quote); // Il a dit : "Bonjour !"

En vrai, c’est un peu plus subtil. Le caractère \ est considéré comme un caractère spécial (de contrôle) dans les chaînes. Avec lui, tu peux mettre des "caractères non imprimables" comme le retour à la ligne, la tabulation, etc. Et pour mettre le caractère \ lui-même, il faut l’écrire deux fois.

Voilà les 4 combinaisons les plus courantes :

Écriture Signification
\n Retour à la ligne (newline)
\t Tabulation (indentation)
\\ Littéralement \
\" Guillemets dans la chaîne

Exemple :

string multiline = "Ligne 1\nLigne 2";
Console.WriteLine(multiline);

Ça affiche :

// Ligne 1
// Ligne 2

7. Interpolation de chaînes ($-chaînes)

C# — c’est un langage super moderne, et il te permet d’insérer facilement et joliment des valeurs de variables dans une chaîne grâce à l’interpolation — il suffit de mettre le symbole $ avant les guillemets, et à l’intérieur de la chaîne tu utilises des accolades {}. Tu connais déjà ça.

Mais ce que tu ne sais peut-être pas, c’est qu’à l’intérieur des accolades tu peux utiliser des expressions entières et même appeler des fonctions ! Exemple :

string name = "Ella";
int birthYear = 1999;

string info = $"Je m’appelle {name}, j’ai {2025-birthYear} ans.";
Console.WriteLine(info); 	// Je m’appelle Ella, j’ai 26 ans.

Cette approche rend le code beaucoup plus lisible et réduit le nombre d’erreurs (et de parenthèses). On parlera plus en détail de l’interpolation dans une autre leçon, mais pour les cas simples, tu peux déjà l’utiliser sans souci.

8. Fonctions propres aux chaînes

Le type string a ses propres fonctions (on les appelle aussi méthodes). Il y en a plein, et elles facilitent la vie des devs. Aujourd’hui tu vas en voir quelques-unes (les plus simples). Exemple :

Fonction Description Exemple de résultat
str.Length Longueur de la chaîne "abc".Length → 3
str.ToUpper() En majuscules "abc".ToUpper() → "ABC"
str.ToLower() En minuscules "ABC".ToLower() → "abc"
str.Trim() Enlève les espaces au début et à la fin " x y ".Trim() → "x y"

Exemples d’utilisation des fonctions de chaînes

Toutes ces fonctions s’utilisent comme ça : variable.fonction(...) .

Trouver la longueur d’une chaîne :

string name = "Andrew";
int length = name.Length;
Console.WriteLine(length); // 6, parce qu’il y a 6 lettres

Mettre une chaîne en majuscules ou minuscules :

string original = "Hello";
Console.WriteLine(original.ToUpper()); // PRIVET
Console.WriteLine(original.ToLower()); // privet

Enlever les espaces au début et à la fin (super utile quand tu récupères du texte au clavier) :

string messy = "   hello   ";
Console.WriteLine(messy.Trim()); // "hello"

Chaque fonction retourne une nouvelle chaîne, l’ancienne chaîne ne change pas.

2
Mission
C# SELF, niveau 2, leçon 2
Bloqué
Création et initialisation de variables de type string
Création et initialisation de variables de type string
2
Mission
C# SELF, niveau 2, leçon 2
Bloqué
Travail avec les chaînes et interpolation
Travail avec les chaînes et interpolation
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION