English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Chaînes de caractères C# (String)

Dans C#, une chaîne de caractères est une série de caractères utilisée pour représenter du texte. Elle peut être un caractère, un mot ou un paragraphe long encadré par des guillemets doubles. Voici les textes de chaîne.

"S"
"String"
"This is a string."

C# fournit le type de données String pour stocker les littéraux de chaîne. Vous pouvez déclarer une variable de type chaîne de caractères et allouer un littéral de chaîne de caractères, comme suit.

string ch = "S";
string word = "String";
string text = "This is a string.";

La taille maximale d'un objet de chaîne de caractères en mémoire est2GB, environ10milliards de caractères. Cependant, dans les applications pratiques, il dépend moins du CPU et de la mémoire de l'ordinateur.

Il y a deux méthodes pour déclarer une variable de chaîne de caractères en C#. Utilisez la classe System.String et la clé de chaîne de caractères. Les deux sont identiques, sans distinction.

string str1 = "Hello"; // Utilisation de la clé de chaîne
 
String str2 = "Hello"; // Utilisation de la classe System.String

Dans C#, une chaîne de caractères est un ensemble ou un tableau de caractères. Par conséquent, vous pouvez créer une chaîne de caractères à partir d'un tableau de caractères, et accéder à la chaîne de caractères comme à un tableau de caractères.

char[] chars = {'H','e','l','l','o'};
string str1 = new string(chars);  
String str2 = new String(chars); 
foreach (char c in str1)
{
    Console.WriteLine(c);
}

Caractères spéciaux

Le texte du monde réel peut contenir n'importe quel caractère. Dans C#, car les chaînes de caractères sont encadrées par des guillemets doubles, elles ne peuvent pas contenir (

string text = "This is a "string" in C#.";

C# inclut le caractère d'échappement \ (antislash) avant ces caractères spéciaux dans la chaîne.

string text = "This is a \
string str = "xyzdef\\rabc";
string path = "\\\\mypc\\ shared\\project";

Cependant, il est fastidieux d'ajouter \ pour chaque caractère spécial. Les chaînes représentées par le préfixe @ doivent être considérées comme littérales et ne peuvent pas échapper à aucun caractère.

string str = @"xyzdef\rabc";
string path = @"\\mypc\shared\project";
string email = @"[email protected]";

Utilisez @ et \ pour déclarer des chaînes multilignes.

string str = @"this is a \",
multi ligne \

string";

Veuillez noter que dans les chaînes, il est nécessaire d'utiliser des的反斜杠 pour permettre l'apparition de guillemets doubles. @ ne s'applique qu'aux caractères spéciaux en C#.

string text = @"This is a \ // erreur
string text = @"This is a \ // erreur
string text = "This is a \ // valide

concaténation de chaînes

Plusieurs chaînes peuvent être connectées en utilisant + opérateur de connexion.

string name = "Mr." + "James " + "Bond" + "Code: 00"7";
 
string firstName = "James";
string lastName = "Bond";
string code = "00"7";
 
string agent = "Mr." + firstName + "" + lastName + "Code: " + code;

Les chaînes sont immuables en C#. Cela signifie qu'elles sont lecture seule, une fois créées en mémoire, elles ne peuvent pas être modifiées. Chaque fois que vous concatenatez des chaînes, le CLR .NET crée une nouvelle position en mémoire pour la chaîne concaténée. Par conséquent, si vous concatenatez cinq chaînes ou plus, il est recommandé d'utiliser StringBuilder plutôt que des chaînes.

l'interpolation de chaîne

L'interpolation de chaîne est une meilleure méthode pour connecter des chaînes. Nous utilisons+Les symboles connectent les variables de chaîne aux chaînes statiques.

C#6Contient un caractère spécial $, utilisé pour identifier les chaînes de substitution. Les chaînes de substitution sont une combinaison de chaînes statiques et de variables de chaîne, où les variables de chaîne doivent être placées entre {}.

string firstName = "James";
string lastName = "Bond";
string code = "00"7";
 
string fullName = "$Mr. {firstName} {lastName}, Code: {code}";

Dans l'exemple d'interpolation ci-dessus, $ représente l'interpolation de chaîne, et {} inclut les variables de chaîne à fusionner avec la chaîne.

Utilisez deux accolades CURLIES «{{» ou «}}» pour inclure { ou } dans une chaîne.