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;
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;
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";
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";
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"
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 :
" "
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 » :
""
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.
GO TO FULL VERSION