Je voudrais convertir un tableau de chaînes en une seule chaîne.
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
J'aimerais avoir quelque chose comme "Hello World!"
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string.Join("", test);
var separator = ", ";
string.Join(separator , test);
string.Join(string.Empty, test)
plutôt que d'utiliser un fichierempty-paranthesis
.Une option légèrement plus rapide que l'utilisation de l'utilisation déjà mentionnée de la
Join()
méthode est la méthode Concat () . Il ne nécessite pas de paramètre de délimiteur vide comme leJoin()
fait. Exemple:par conséquent, il est probablement plus rapide.
la source
Concat
est mieux, dans le code interne deJoin
, il ajoutera un séparateur après chaque élément. MaisConcat
ne pas avoir de tels codes, c'est plus simple et plus direct queJoin
. C'est la première réponse.Essayer:
qui doit renvoyer une chaîne joignant les deux éléments ensemble.
""
indique que vous souhaitez que les chaînes soient jointes sans séparateurs.la source
"Hello "
de la question contenait déjà un espace à la fin. Si l'espace n'était pas déjà là, alors vous auriez raison, et utiliser" "
comme séparateur aurait plus de sens.Vous avez besoin d'une simple chaîne: Concat ().
Si vous devez également ajouter un séparateur (espace, virgule, etc.), string.Join () doit être utilisé.
Si vous devez effectuer cela sur un tableau de chaînes avec des centaines d'éléments que string.Join () est meilleur du point de vue de la performance. Donnez simplement un argument "" (vide) comme séparateur. StringBuilder peut également être utilisé pour des raisons de performances, mais cela rendra le code un peu plus long.
la source
Concat
etJoin
sont plus rapides queStringBuilder
si vous avez 4 chaînes ou moins à concaténer.Aggregate
peut également être utilisé pour le même.la source
String.Join
en œuvre en raison de la construction de plusieurs chaînes supplémentaires. Veuillez lire stackoverflow.com/questions/217805/… pour la variante appropriée deAggregate
.la source
string.Join(" ", array)
(sauf que le vôtre ajoute un espace de fin). Pourquoi ne pas simplement utiliser celui de la bibliothèque?J'ai utilisé cette méthode pour accélérer mon projet:
RichTextBox.Text convertira automatiquement votre tableau en une chaîne multiligne!
la source
Dans la réponse acceptée, String.Join n'est pas la meilleure pratique selon 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, puisque OP a demandé le résultat "Hello World!", String.Join est toujours la méthode appropriée, mais l'espace blanc de fin doit être déplacé vers le délimiteur à la place.
la source
Comme ça:
Vous pouvez également utiliser une boucle:
la source