Back

.hovertable {
font-family: verdana,arial,sans-serif;
font-size:11px;

margin: -2px;
width: 100%;
overflow: hidden;
background: #FFF;
color: #024457;
border:2px solid #167F92;
border-radius: 10px;
border-collapse: separate;
}
.hovertable th {
background-color:#c3dde0;
border-width: 1px;
color:#024457;
padding: 8px;
border-: solid;
border-color: #a9c6c9;
}
.hovertable tr {
border: 1px solid #D9E4E6;

&:nth-child(odd) { // highlight the odd rows with a color
background-color: #EAF3F3;
}
.hovertable td {
border-width: 1px;
padding: 8px;
border-: solid;
border-color: #a9c6c9;
}

summary {
cursor: pointer;
font-size: 16px;
font-weight: bold;
text-decoration-line: underline;
content: “+”;
}

.coin {
background-color:#E4EFFF;
border:1px solid #9FC6FF;
padding:5px;
/*arrondir les coins en haut à gauche et en bas à droite*/
-moz-border-radius:10px;
-webkit-border-radius:10px;
border-radius:10px;
font-family: ‘Trebuchet MS’, Verdana, sans-serif;
}

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”

    // Déclarez sans initialisation .
    string message1;
    // Initialisation à null .
    string message2 = null;
    // Initialisation comme une chaîne vide .
    //Utilisez la constante vide à la place du littéral "".
    string message3 = System.String.Empty;
    //Initialisation avec une chaîne régulière littérale .
    string oldPath = "c:\\Program Files\\Microsoft Visual Studio 14.0";
    // Initialisation avec une chaîne littérale mot à mot .
    string newPath = @"c:\Program Files\Microsoft Visual Studio 9.0";
    
    // Utilisez System.String si vous préférez.
    System.String greeting = "Hello World!";
    // Dans des variables locales (i.e. within a method body)
    // vous pouvez utiliser le typage implicite.
    var temp = "I'm still a strongly-typed System.String!";
    
    // Utilisez une chaîne const ' message4 ' de 'message4' from
    // étant utilisé pour stocker une autre valeur de chaîne .
    const string message4 = "You can't get rid of me!";
    // Utilisez le constructeur String uniquement lors de la création
    // une chaîne à partir d'un char * , char [ ] , ou sbyte * . Voir
    // System.String documentation pour plus de détails .
    char[] letters = { 'A', 'B', 'C' };
    string alphabet = new string(letters);
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,
    • Console . WriteLine ("La longueur de " + s + " est " + s. Length + ".");
      /////////////////////////////////////////////////////////////////////////
      string chaine = "apcpedagogie 1";
      int longueur = chaine.Length; // longueur de 14
      
  3. Mise en majuscules: Opération ToUpper
    • string majuscule = chaine.ToUpper();//APCPEDAGOGIE
      
      ///////////////
      string chaine2 = "qpcpedagogie mon site de formation";
      Console.Out.WriteLine(chaine2.ToUpper());//APCPEDAGOGIE MON SITE DE FORMATION
      
  4. Mise en minuscules: Opération ToLower
    • string majuscule = chaine.ToLower();//APCPEDAGOGIE
      ///////////////
      string chaine2 = "APCPEDAGOGIE MON SITE DE FORMATION";
      Console.Out.WriteLine(chaine2.ToLower());//qpcpedagogie mon site de formation
      
  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
    • string w = "apcpedagogie";
      int positionDuAp = w.IndexOf("ap"); // indice 0
      ///////////////////////////////////////////////
      string w = "apcpedagogie";
      int positionDuAl = w.IndexOf("g"); // indice 7
      ///////////////////////////////////////////////
      if (w.IndexOf(".com") == -1)
      Console.Out.WriteLine("Pas de .com ici");
      
  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).
    • s t r ing s = "Mon site de formation apcpedagogie.com ";
      string s2 = s. Substring (23, 12);
      s2 contient alors apcpedagogie.
  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
      using System;
      
      class Program
      {
          static void Main()
          {
      	string a = "a";
      	string b = "b";
      
      	int c = string.Compare(a, b);
      	Console.WriteLine(c);
      
      	c = string.CompareOrdinal(b, a);
      	Console.WriteLine(c);
      
      	c = a.CompareTo(b);
      	Console.WriteLine(c);
      
      	c = b.CompareTo(a);
      	Console.WriteLine(c);
          }
      }
      
      Output
      
      -1       (Cela signifie que a est plus petit que b)
      1        (Cela signifie que b est plus petit que a)
      -1
      1
  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

    string s = "9000";
    int i = int.Parse(s); // i vaut 9000

    Conversion int → string

    int i = 9000;
    string s = i.ToString(); // s vaut "9000"
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 :
    • using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      namespace ConsoleApplication1
      {
          class Program
          {
              static void Main(string[] args)
              {
                  string chaine = "La chaîne est entre guillemet \"guillemet \"";
                  Console.WriteLine(chaine);
                  Console.ReadLine();
              }
          }
      }
      
      Résultat d’exécution:
      c# chaine de caractere

    • 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”
      • using System;
        using System.Collections.Generic;
        using System.Linq;
        using System.Text;
        
        namespace ConsoleApplication1
        {
            class Program
            {
                static void Main(string[] args)
                {
                    string chaine = "La chaîne est entre guillemet \"guillemet \"";
                    Console.WriteLine("guillemet" );
                    Console.WriteLine("g\nu\ni\nl\nl\ne\nm\ne\nt" );
                    Console.ReadLine();
                }
            }
        }
        
        c# chaine de caractère

      • 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.
        • using System;
          using System.Collections.Generic;
          using System.Linq;
          using System.Text;
          
          namespace ConsoleApplication1
          {
              class Program
              {
                  static void Main(string[] args)
                  {
                      string chaine = "Le site apcpedagogie vous permet de :";
                      Console.WriteLine(chaine);
                      Console.WriteLine("\t - Apprendre à distance");
                      Console.WriteLine("\t - S\'évaluer");
                      Console.WriteLine("\t - Etre autonome");
                      Console.ReadLine();
                  }
              }
          }
          
        c# chaine de caractère

      • 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
        • using System;
          using System.Collections.Generic;
          using System.Linq;
          using System.Text;
          
          namespace ConsoleApplication1
          {
              class Program
              {
                  static void Main(string[] args)
                  {
                      string fichier = "c:apcpedagogie\\repertoire\\fichier.cs";
                      Console.WriteLine(fichier);
                      Console.ReadLine();
                  }
              }
          }
          
        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#

        (adsbygoogle = window.adsbygoogle || []).push({});

        Abonnez vous à notre chaîne YouTube gratuitement