C# String

En C#, vous pouvez utiliser des tableaux de caractères pour représenter des chaînes, cependant, la pratique la plus courante consiste à utiliserstringle mot-clé pour déclarer une variable de chaîne. Le mot-clé string estSystem.Stringl'alias d'une classe.

Créer un objet String

Vous pouvez créer un objet string en utilisant l'une des méthodes suivantes :

  • En affectant une chaîne à une variable String
  • En utilisant un constructeur de la classe String
  • En utilisant l'opérateur de concaténation de chaînes ( + )
  • En récupérant une propriété ou en appelant une méthode qui retourne une chaîne
  • En utilisant une méthode de formatage pour convertir une valeur ou un objet en sa représentation sous forme de chaîne

L'exemple suivant le démontre :

Exemple

using System;

namespace StringApplication
{
    class Program
    {
        static void Main(string[] args)
        {
           // String, concaténation de chaînes
            string fname, lname;
            fname = "Rowan";
            lname = "Atkinson";

            string fullname = fname + lname;
            Console.WriteLine("Nom complet : {0}", fullname);

            // En utilisant le constructeur de chaîne
            char[] letters = { 'H', 'e', 'l', 'l','o' };
            string greetings = new string(letters);
            Console.WriteLine("Salutations : {0}", greetings);

            // La méthode retourne une chaîne
            string[] sarray = { "Bonjour", "De", "Tutoriels", "Point" };
            string message = String.Join(" ", sarray);
            Console.WriteLine("Message : {0}", message);

            // Méthode de mise en forme utilisée pour convertir des valeurs
            DateTime waiting = new DateTime(2012, 10, 10, 17, 58, 1);
            string chat = String.Format("Message envoyé à {0:t} le {0:D}",
            en attente);
            Console.WriteLine("Message: {0}", chat);
            Console.ReadKey() ;
        }
    }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant :

Full Name: RowanAtkinson
Greetings: Hello
Message: Hello From Tutorials Point
Message: Message sent at 17:58 on Wednesday, 10 October 2012

Propriétés de la classe String

La classe String possède les deux propriétés suivantes :

Numéro de sérieNom et description de la propriété
1Chars
Dans laString actuelle, récupère l'objetCharà la position spécifiée de l'objet.
2Longueur
Dans laString actuelle, obtient le nombre de caractères dans l'objet.

Méthodes de la classe String

La classe String possède de nombreuses méthodes pour manipuler des objets string. Le tableau suivant présente certaines des méthodes les plus couramment utilisées :

Numéro de sérieNom et description de la méthode
1public static int Compare( string strA, string strB )
Compare deux objets de type chaîne spécifiés et retourne un entier indiquant leur position relative dans l'ordre de tri. Cette méthode respecte la casse.
2public static int Compare( string strA, string strB, bool ignoreCase )
Compare deux objets de type chaîne spécifiés et retourne un entier indiquant leur position relative dans l'ordre de tri. Toutefois, si le paramètre booléen est true, cette méthode est insensible à la casse.
3public static string Concat( string str0, string str1 )
Concatène deux objets de type chaîne.
4public static string Concat( string str0, string str1, string str2 )
Concatène trois objets de type chaîne.
5public static string Concat( string str0, string str1, string str2, string str3 )
Concatène quatre objets de type chaîne.
6public bool Contains( string value )
Retourne une valeur indiquant si une chaîne spécifiée apparaît dans la chaîne.
7public static string Copy( string str )
Crée un nouvel objet String avec la même valeur que la chaîne spécifiée.
8public void CopyTo( int sourceIndex, char[] destination, int destinationIndex, int count )
Copie un nombre spécifié de caractères depuis une position spécifiée dans l'objet chaîne vers une position spécifiée dans un tableau de caractères Unicode.
9public bool EndsWith( string value )
Détermine si la fin de l'objet chaîne correspond à la chaîne spécifiée.
10public bool Equals( string value )
Détermine si l'objet chaîne actuel a la même valeur que l'objet chaîne spécifié.
11public static bool Equals( string a, string b )
Détermine si deux objets chaîne spécifiés ont la même valeur.
12public static string Format( string format, Object arg0 )
Remplace un ou plusieurs éléments de format dans une chaîne spécifiée par la représentation sous forme de chaîne d'un objet spécifié.
13public int IndexOf( char value )
Retourne l'index de base zéro de la première occurrence d'un caractère Unicode spécifié dans la chaîne actuelle.
14public int IndexOf( string value )
Retourne l'index de la première occurrence de la chaîne spécifiée dans cette instance, l'index commençant à 0.
15public int IndexOf( char value, int startIndex )
Retourne l'index de la première occurrence du caractère Unicode spécifié, en recherchant à partir de la position de caractère spécifiée dans cette chaîne, l'index commençant à 0.
16public int IndexOf( string value, int startIndex )
Retourne l'index de la première occurrence de la chaîne spécifiée, en recherchant à partir de la position de caractère spécifiée dans cette instance, l'index commençant à 0.
17public int IndexOfAny( char[] anyOf )
Retourne l'index de la première occurrence de l'un des caractères d'un tableau de caractères Unicode spécifié dans cette instance, l'index commençant à 0.
18public int IndexOfAny( char[] anyOf, int startIndex )
Retourne l'index de la première occurrence de l'un des caractères d'un tableau de caractères Unicode spécifié, en recherchant à partir de la position de caractère spécifiée dans cette instance, l'index commençant à 0.
19public string Insert( int startIndex, string value )
Retourne une nouvelle chaîne dans laquelle une chaîne spécifiée est insérée à la position d'index spécifiée de l'objet chaîne actuel.
20public static bool IsNullOrEmpty( string value )
Indique si la chaîne spécifiée est null ou une chaîne vide.
21public static string Join( string separator, string[] value )
Concatène tous les éléments d'un tableau de chaînes, en utilisant un séparateur spécifié pour séparer chaque élément.
22public static string Join( string separator, string[] value, int startIndex, int count )
Concatène les éléments spécifiés à partir d'une position spécifiée dans un tableau de chaînes, en utilisant un séparateur spécifié pour séparer chaque élément.
23public int LastIndexOf( char value )
Retourne l'index de base zéro de la dernière occurrence d'un caractère Unicode spécifié dans l'objet chaîne actuel.
24public int LastIndexOf( string value )
Retourne l'index de base zéro de la dernière occurrence d'une chaîne spécifiée dans l'objet chaîne actuel.
25public string Remove( int startIndex )
Supprime tous les caractères de l'instance actuelle, à partir d'une position spécifiée et jusqu'à la dernière position, et retourne la chaîne.
26public string Remove( int startIndex, int count )
Supprime un nombre spécifié de caractères à partir d'une position spécifiée dans la chaîne actuelle et retourne la chaîne.
27public string Replace( char oldChar, char newChar )
Remplace tous les caractères Unicode spécifiés dans l'objet chaîne actuel par un autre caractère Unicode spécifié et retourne une nouvelle chaîne.
28public string Replace( string oldValue, string newValue )
Remplace toutes les chaînes spécifiées dans l'objet chaîne actuel par une autre chaîne spécifiée et retourne une nouvelle chaîne.
29public string[] Split( params char[] separator )
Retourne un tableau de chaînes contenant les sous-chaînes de l'objet chaîne actuel, délimitées par les éléments d'un tableau de caractères Unicode spécifié.
30public string[] Split( char[] separator, int count )
Retourne un tableau de chaînes contenant les sous-chaînes de l'objet chaîne actuel, délimitées par les éléments d'un tableau de caractères Unicode spécifié. Le paramètre int spécifie le nombre maximal de sous-chaînes à retourner.
31public bool StartsWith( string value )
Détermine si le début de l'instance de chaîne correspond à la chaîne spécifiée.
32public char[] ToCharArray()
Retourne un tableau de caractères Unicode contenant tous les caractères de l'objet chaîne actuel.
33public char[] ToCharArray( int startIndex, int length )
Retourne un tableau de caractères Unicode contenant tous les caractères de l'objet chaîne actuel, à partir d'un index spécifié et sur une longueur spécifiée.
34public string ToLower()
Convertit la chaîne en minuscules et la retourne.
35public string ToUpper()
Convertit la chaîne en majuscules et la retourne.
36public string Trim()
Supprime tous les caractères d'espacement de début et de fin de l'objet String actuel.

La liste de méthodes ci-dessus n'est pas exhaustive ; veuillez consulter la bibliothèque MSDN pour voir la liste complète des méthodes et des constructeurs de la classe String.

Exemple

L'exemple suivant illustre certaines des méthodes mentionnées ci-dessus :

Comparer des chaînes

Exemple

using System;

namespace StringApplication
{
   class StringProg
   {
      static void Main(string[] args)
      {
         string str1 = "This is test";
         string str2 = "This is text";

         if (String.Compare(str1, str2) == 0)
         {
            Console.WriteLine(str1 + " and " + str2 +  " are equal.");
         }
         else
         {
            Console.WriteLine(str1 + " and " + str2 + " are not equal.");
         }
         Console.ReadKey() ;
      }
   }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant :

This is test and This is text are not equal.

String contient une chaîne :

Exemple

using System;

namespace StringApplication
{
   class StringProg
   {
      static void Main(string[] args)
      {
         string str = "This is test";
         if (str.Contains("test"))
         {
            Console.WriteLine("La séquence 'test' a été trouvée.");
         }
         Console.ReadKey() ;
      }
   }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant :

The sequence 'test' was found.

Obtenir la sous-chaîne :

Exemple

using System;
namespace StringApplication
{
        class StringProg
        {
                static void Main(string[] args)
                {
                        string str = "La nuit dernière j'ai rêvé de San Pedro";
                        Console.WriteLine(str);
                        string substr = str.Substring(23);
                        Console.WriteLine(substr);
                        Console.ReadKey() ;
                }
        }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant :

Last night I dreamt of San Pedro
San Pedro

Chaîne de connexion :

Exemple

using System;

namespace StringApplication
{
   class StringProg
   {
      static void Main(string[] args)
      {
         string[] starray = new string[]{"En bas de la route, les nuits sont sombres",
         "Et le soleil brille chaque jour au sommet de la montagne",
         "J'ai fait un voyage sur un bateau à voiles",
         "Et quand je suis arrivé en Jamaïque",
         "J'ai fait une escale"};

         string str = String.Join("\n", starray);
         Console.WriteLine(str);
         Console.ReadKey() ;
      }
   }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant :

Down the way nights are dark
And the sun shines daily on the mountain top
I took a trip on a sailing ship
And when I reached Jamaica
I made a stop
autres extensions