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
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érie | Nom et description de la propriété |
|---|---|
| 1 | Chars Dans laString actuelle, récupère l'objetCharà la position spécifiée de l'objet. |
| 2 | Longueur 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érie | Nom et description de la méthode |
|---|---|
| 1 | public 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. |
| 2 | public 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. |
| 3 | public static string Concat(
string str0,
string str1
)
Concatène deux objets de type chaîne. |
| 4 | public static string Concat(
string str0,
string str1,
string str2
)
Concatène trois objets de type chaîne. |
| 5 | public static string Concat(
string str0,
string str1,
string str2,
string str3
)
Concatène quatre objets de type chaîne. |
| 6 | public bool Contains(
string value
)
Retourne une valeur indiquant si une chaîne spécifiée apparaît dans la chaîne. |
| 7 | public static string Copy(
string str
)
Crée un nouvel objet String avec la même valeur que la chaîne spécifiée. |
| 8 | public 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. |
| 9 | public bool EndsWith(
string value
)
Détermine si la fin de l'objet chaîne correspond à la chaîne spécifiée. |
| 10 | public bool Equals(
string value
)
Détermine si l'objet chaîne actuel a la même valeur que l'objet chaîne spécifié. |
| 11 | public static bool Equals(
string a,
string b
)
Détermine si deux objets chaîne spécifiés ont la même valeur. |
| 12 | public 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é. |
| 13 | public 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. |
| 14 | public 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. |
| 15 | public 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. |
| 16 | public 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. |
| 17 | public 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. |
| 18 | public 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. |
| 19 | public 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. |
| 20 | public static bool IsNullOrEmpty(
string value
)
Indique si la chaîne spécifiée est null ou une chaîne vide. |
| 21 | public 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. |
| 22 | public 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. |
| 23 | public 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. |
| 24 | public 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. |
| 25 | public 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. |
| 26 | public 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. |
| 27 | public 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. |
| 28 | public 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. |
| 29 | public 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é. |
| 30 | public 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. |
| 31 | public bool StartsWith(
string value
)
Détermine si le début de l'instance de chaîne correspond à la chaîne spécifiée. |
| 32 | public char[] ToCharArray() Retourne un tableau de caractères Unicode contenant tous les caractères de l'objet chaîne actuel. |
| 33 | public 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. |
| 34 | public string ToLower() Convertit la chaîne en minuscules et la retourne. |
| 35 | public string ToUpper() Convertit la chaîne en majuscules et la retourne. |
| 36 | public 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
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
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
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
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 stopautres extensions