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] + ".");