C# Language
Concaténation de cordes
Recherche…
Remarques
Si vous créez une chaîne dynamique, il est Concat
d'opter pour la classe StringBuilder
plutôt que de joindre des chaînes à l'aide de la méthode + ou Concat
, car chaque + / Concat
crée un nouvel objet chaîne à chaque exécution.
+ Opérateur
string s1 = "string1";
string s2 = "string2";
string s3 = s1 + s2; // "string1string2"
Concaténer des chaînes à l'aide de System.Text.StringBuilder
La concaténation de chaînes à l'aide de StringBuilder peut offrir des avantages en termes de performances par rapport à la simple concaténation de chaînes à l'aide de +
. Cela est dû à la manière dont la mémoire est allouée. Les chaînes sont réallouées à chaque concaténation, StringBuilders alloue de la mémoire en blocs uniquement en les réaffectant lorsque le bloc actuel est épuisé. Cela peut faire une énorme différence lors de nombreuses petites concaténations.
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 5; i++)
{
sb.Append(i);
sb.Append(" ");
}
Console.WriteLine(sb.ToString()); // "1 2 3 4 5 "
Les appels à Append()
peuvent être chaînés, car ils renvoient une référence à StringBuilder
:
StringBuilder sb = new StringBuilder();
sb.Append("some string ")
.Append("another string");
Concat éléments de tableau de chaînes à l'aide de String.Join
La méthode String.Join
peut être utilisée pour concaténer plusieurs éléments à partir d'un tableau de chaînes.
string[] value = {"apple", "orange", "grape", "pear"};
string separator = ", ";
string result = String.Join(separator, value, 1, 2);
Console.WriteLine(result);
Produit la sortie suivante: "orange, grape"
Cet exemple utilise la String.Join(String, String[], Int32, Int32)
, qui spécifie l'index de démarrage et le décompte au-dessus du séparateur et de la valeur.
Si vous ne souhaitez pas utiliser les surcharges startIndex et count, vous pouvez joindre toutes les chaînes données. Comme ça:
string[] value = {"apple", "orange", "grape", "pear"};
string separator = ", ";
string result = String.Join(separator, value);
Console.WriteLine(result);
qui produira;
pomme, orange, raisin, poire
Concaténation de deux chaînes en utilisant $
$ fournit une méthode simple et concise pour concaténer plusieurs chaînes.
var str1 = "text1";
var str2 = " ";
var str3 = "text3";
string result2 = $"{str1}{str2}{str3}"; //"text1 text3"