Je voudrais convertir un tableau de chaînes en une seule chaîne.
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
Je voudrais avoir quelque chose comme "Hello World!"
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string.Join("", test);
Essayer:
String.Join("", test);
qui devrait renvoyer une chaîne joignant les deux éléments. ""
indique que vous souhaitez que les chaînes soient jointes sans séparateurs.
Une option légèrement plus rapide que d'utiliser la méthode Join()
déjà mentionnée est la méthode Concat () Il ne nécessite pas de paramètre de délimiteur vide, contrairement à Join()
. Exemple:
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string result = String.Concat(test);
par conséquent, c'est probablement plus rapide.
Une simple chaîne.Concat () est ce dont vous avez besoin.
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string result = string.Concat(test);
Si vous devez également ajouter un séparateur (espace, virgule, etc.), alors string.Join () doit être utilisé.
string[] test = new string[2];
test[0] = "Red";
test[1] = "Blue";
string result = string.Join(",", test);
Si vous devez effectuer ceci sur un tableau de chaînes avec des centaines d'éléments, string.Join () est préférable du point de vue de la performance. Donnez simplement un argument "" (vide) en tant que séparateur. StringBuilder peut également être utilisé pour des raisons de performances, mais cela allongera un peu le code.
Aggregate
peut également être utilisé pour la même chose.
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string joinedString = test.Aggregate((prev, current) => prev + " " + current);
string ConvertStringArrayToString(string[] array)
{
//
// Concatenate all the elements into a StringBuilder.
//
StringBuilder strinbuilder = new StringBuilder();
foreach (string value in array)
{
strinbuilder.Append(value);
strinbuilder.Append(' ');
}
return strinbuilder.ToString();
}
Dans la réponse acceptée, String.Join n'est pas la meilleure pratique par son utilisation. String.Concat aurait dû être utilisé car OP incluait un espace de fin dans le premier élément: "Hello" (au lieu d'utiliser un délimiteur nul).
Cependant, étant donné que OP a demandé le résultat "Hello World!", String.Join est toujours la méthode appropriée, mais les espaces finaux doivent plutôt être déplacés vers le délimiteur.
// string[] test = new string[2];
// test[0] = "Hello ";
// test[1] = "World!";
string[] test = { "Hello", "World" }; // Alternative array creation syntax
string result = String.Join(" ", test);
J'ai utilisé cette méthode pour accélérer mon projet:
RichTextBox rcbCatalyst = new RichTextBox()
{
Lines = arrayString
};
string text = rcbCatalyst.Text;
rcbCatalyst.Dispose();
return text;
RichTextBox.Text convertira automatiquement votre tableau en chaîne multiligne!