C#: Chaînes de caractères

Chaînes de caractères en C#

c sharp chaines de caracteres
 


Définitions
Définition
  • Une chaîne est un objet de type String dont la valeur est du texte. En interne, le texte est stocké comme une collection en lecture seule d’objets Char, chacun représentant un caractère Unicode codé au format UTF-16.
  • Une chaîne de caractères est une suite de char (caractères UNICODE).
  • Le type utilisé pour d’éclarer une chaîne de caractères est string.
  • La classe String du .NET Framework propose de nombreuses méthodes intégrées pour faciliter la comparaison et la manipulation de chaînes.
  • Il est à présent facile d’obtenir des données sur une chaîne ou de créer de nouvelles chaînes en manipulant des chaînes existantes.
  • Une chaîne de caractères est un tableau contenant des caractères utilisables pour être mis dans une variable ou affichable dans un message.
  • On peut indiquer un guillemet double pour délimiter le début et la fin d’une chaîne de caractères. De plus, on peut lui attribuer une valeur immédiatement lors de la création de la variable (String) ou après.
  • Une chaîne est une collection séquentielle de 0 ou plusieurs caractères Unicode.
  • Chaque caractère dans une chaîne a une position (appelée aussi indice). Le 1er caractère a l’indice 0.
Déclaration et initialisation
Déclaration et initialisation
    Le mot-clé string identifie le type de données chaîne. La chaîne est déclarée entre guillemets.
    Un objet de type chaîne est créé. Une chaîne est immuable : le contenu de l’objet ne peut être modifié.

    string nom_chaine = ” valeur initiale “;

    Par exemple, on déclare une chaîne c contenant “apcpedagogie.com” de la sorte :
    string apc=“apcpedagogie.com”

Opérations sur les chaînes
Opérations sur les chaînes
  • Les variables de type string permettent certaines opérations utiles
  • La notation générale pour l’utilisation de ces opérations est la suivante :résultat = nomVariableString.NomOpération
  1. La Concaténation
    • La concaténation est une opération qui consiste à assembler des fragments de chaînes ensemble
    • La concaténation de deux chaînes est la juxtaposition des caractères qui les composent. L’opérateur utilisé pour ce faire est +.
    • Exemple: 1
      string t = “H” + “al”; // t vaut ‘Hal’
      t += ” “; // t vaut ‘Hal ‘
      t += 9000; // t vaut ‘Hal 9000’
      t = “Je suis ” + t; // t vaut ‘Je suis Hal 9000’

      Exemple:2
      s t r ing a = ” nabucho “;
      s t r ing b = ” donosor “;
      s t r ing c = a + b;

      Attention : lorsqu’on fait entier + chaîne, on a une concaténation de deux chaînes, pas une addition arithmétiques

  2. Longueur
    • La longueur d’une chaîne s est le nombre de caractères qu’elle contient qu’on obtient avec l’attribut : .Length. Par exemple,
  3. Mise en majuscules: Opération ToUpper
  4. Mise en minuscules: Opération ToLower
  5. Recherche dans une chaîne :: Opération IndexOf

    • La méthode IndexOf rapporte l’emplacement du premier caractère de la première occurrence de la sous-chaîne.
    • Si la méthode IndexOf ne trouve pas la sous-chaîne, elle retourne -1.
    • La méthode IndexOf respecte la casse et utilise la culture actuelle.
    • L’index est de base 0, ce qui signifie que l’index du premier caractère d’une chaîne est 0.
    • Recherche un passage dans une chaîne
    • Retourne l’index (position) du début du passage dans la chaîne
    • Si le passage est là plus d’une fois, trouve le premier
  6. Extraction d’une sous-chaîne :Opération Substring
    • Trouve un fragment (sous-chaîne) commençant à une position donnée de la chaîne originale
    • La fonction Substring attend deux paramètres pour préciser la sous-chaîne à extraire :
      • 1. La position de départ où commencer à extraire
      • 2. La longueur de la sous-chaîne à extraire
    • L’index du premier caractère d’une chaîne est toujours 0.
    • On extrait de s une sous-chaîne de j caractères a partir du caractère d’indice i en utilisant s.Substring(i, j).
  7. Comparaison lexicographique de deux chaînes :: Opération CompareTo
      • Compare l’instance actuelle avec un autre objet du même type et retourne un entier qui indique si l’instance actuelle précède ou suit un autre objet ou se trouve à la même position dans l’ordre de tri.
      • La fonction retourne un entier dont la valeur indique le résultat de la comparaison
        • = 0 : les deux chaînes sont identiques
        • < 0 : la première chaîne vient avant la deuxième
        • > 0 : la première chaîne vient après la deuxième

  8. Caractères spéciaux
    • Pour inclure certains symboles dans une chaîne de caractères, il faut utiliser la barre oblique inverse suivie d’un caractère défini par C#
    • Pour insérer… On utilise… Exemple de chaîne… Sortie à l’écran si la chaîne est affichée…
      un guillemet \” “C’est \”Hung up\”.” C’est “Hung up”.
      une tabulation \t “Prénom:\tRiadh”
      “Nom:\tHAJJI”
      Prénom: Riadh
      Nom: HAJJI
      un retour chariot \n “A\nL\nL\nO” A
      L
      L
      O
      barre oblique inverse \\ “C:\\temp\\a.txt” C:\temp\a.txt
Conversions entre entier et chaîne
Conversions entre entier et chaîne
  • Il est parfois nécessaire de convertir une chaîne de caractères en entier, et vice-versa
  • Conversion string → int

    Conversion int → string

Les caractères spéciaux dans les chaines de caractères
Les caractères spéciaux dans les chaines de caractères
  1. utilisation des guillemets dans les chaines de caractères
    • Pour incorporer des guillemets dans des chaines de caractères utiliser le caractère spécial \ qui sera à mettre juste devant le guillemet, par exemple le code suivant :
    • Résultat d’exécution:
      c# chaine de caractere
  2. Sauter une ligne
    • Le caractère \ est un caractère spécial qu’il permet de dire au compilateur qu’il sera utilisé combiné à la valeur qui le suit, permettant un retour à la ligne.
    • Pour sauter une ligne ou vous voulez retourner à la ligne utiliser “\n”
    • c# chaine de caractère
  3. Caractère de tabulation horizontale
    • Le caractère \ est un caractère spécial qu’il permet de dire au compilateur qu’il sera utilisé combiné à la valeur qui le suit, permettant d’ avoir une tabulation horizontale.
    c# chaine de caractère
  4. Caractère du chemin de fichier
    • Pour avoir une chine de caractère qui contient le caractère accent grave(Barre oblique) Le principe est le même, il suffira de faire suivre ce fameux caractère spécial de lui-même
    c# chaîne de caractère
Travaux pratiques
Travaux pratiques

    Exercice apcpedagogie c# chaîne 001
        Ecrire un programme en c# qui demande à l’utilisateur de :

      1. Saisir une phrase puis d’afficher si cette phrase commence par une majuscule ou minuscule.
      2. Est ce que cette phrase se termine par un point ou non.
      3. Afficher le nombre des mots qui contient cette phrase.
      4. Afficher le nombre des caractères qui contient cette phrase.
      5. Afficher le nombre des espaces blanc qui contient cette phrase.

      Solution


    Exercice apcpedagogie c# chaîne 002
      1. Ecrire un programme en langage C# qui lit 5 mots, séparés par des espaces et qui les affiche ensuite dans une ligne, mais dans l’ordre inverse.
      2. Les mots sont mémorisés dans 5 variables V1, … ,V5.
      3. Exemple; apcpedagogie mon site de formation \n formation de site mon apcpedagogie
      4. Solution


    Exercice apcpedagogie c# chaîne 003
      Ecrire un programme en langage C# qui lit un texte var_txt de langueur de 100 caractères en maximum et qui enlève toutes les apparitions du charactère ‘a’ en concaténant les éléments restants. Les modifications se feront dans la même variable var_txt .
      Afficher le contenu de var_txt
      Afficher le contenu de var_txt inversé
      Solution


    Exercice apcpedagogie c# chaîne 004
    • Ecrire un programme en C # qui demande l’utilisateur d’introduire son nom puis son prénom et qui affiche alors la longueur totale du nom sans compter les espaces.

Contenu du chapitre :Les chaines de caractères

1.Les chaînes de caractères
2.c#:StringBuilder
3.QCM
4.Travaux pratiques

Sommaire du cours c#