Skip to content

Opérations avec les chaînes de caractères (string)

Concaténation : Combiner plusieurs chaînes avec l'opérateur +

Exemples de concaténation

string nom = "Smith";
string prenom = "Jean";
string nomComplet = "";

nomComplet = prenom + " " + nom;

Construire une phrase selon des conditions

En utilisant la concaténation il est possible de configurer un message variable à l'utilisateur

string facture = "";
string choix = "";

Console.WriteLine("Ajouter un contrôleur (1)Pi ou (2)Pi zéro");
choix = Console.ReadLine();

if(choix == "1")
{
    facture = facture + "Contrôler Pi, ";
}
else
{
    facture = facture + "Contrôleur Pi zéro, ";
}

Console.WriteLine("Matrice de LEDS? o/n");
choix = Console.ReadLine();

if(choix == "o")
{
    facture = facture + "Matrice de LEDS, ";
}

Mettre des variables dans une chaîne de caractères

La méthode Console.WriteLine accepte d'ajouter des variables dans un texte avec l'opérateur +.

Cette façon peut devenir difficile à lire. Il existe aussi le formatage au moyen du $ ou de la méthode string.Format();

Formatage avec $

En mettant $ devant les "" on peut introduire une variable dans notre chaîne de caractères directement ;

string nom = "Pierre Paul";
string message = $"Bonjour {nom}";

Console.WriteLine(message);

Résultat : Bonjour Pierre Paul

string.Format()

Avec string.Format() on peut mettre des accolades dans une phrase pour y introduire les valeurs de notre choix plus tard.

int nbMoteurs = 12;
int nbBatteries = 2;

string facture = string.Format("Nb de moteurs : {0}  Nb de batteries : {1} ", nbMoteurs, nbBatteries);

Le premier paramètre de la méthode : Une chaîne de caractères avec un nombre entre accolades pour chaque endroit où on insère une valeur

Les nombres entre accolades doivent commencer à 0. L'ordre est important pour l'insertion des valeurs

Les autres paramètres : Les valeurs à insérer, dans l'ordre selon le nombre entre les accolades

Les string sont des tableaux

On peut aller chercher les lettres en utilisant la notation : nomDuString[positionDuCaractère]

Par exemple pour afficher les initiales d'un nom complet

string nom = "Tremblay";
string prenom = "Keven";

Console.WriteLine(prenom[0] + "." + nom[0] + ".");