2009-09-10 9 views
8

Quelle est la meilleure façon/recommandée d'ajouter x nombre d'occurrences d'un caractère à une chaîne, par ex.C# Ajouter x occurrences d'un caractère à une chaîne

String header = "HEADER"; 

La variable d'en-tête doit avoir, disons, 100 0 ajoutés à la fin de celle-ci. Mais ce nombre va changer en fonction d'autres facteurs.

Répondre

21

Que diriez-vous:

header += new string('0', 100); 

Bien sûr; si vous avez plusieurs manipulations à faire, pensez StringBuilder:

StringBuilder sb = new StringBuilder("HEADER"); 
sb.Append('0', 100); // (actually a "fluent" API if you /really/ want...) 
// other manipluations/concatenations (Append) here 
string header = sb.ToString(); 
+2

Note: Si vous connaissez la finale taille de la chaîne, spécifiez cela comme capacité lors de la création de StringBuilder. Il minimise les réallocations, et le résultat est un objet chaîne sans un tas de mémoire inutilisée à la fin. – Guffa

9

Ceci ajoutera 100 zéro caractères à la chaîne:

header += new string('0', 100); 
+3

+1 pour montrer la solution la plus simple possible, ce qui est souvent le meilleur. Notez cependant que cela n'introduit pas ** de caractères dans la chaîne, qu'elle crée une nouvelle chaîne avec 100 caractères zéro, puis crée une autre nouvelle chaîne à partir de la chaîne d'origine et de la chaîne de zéros. – Guffa

4

Que diriez-vous

string header = "Header"; 
header = header.PadRight(header.Length + 100, '0'); 
+4

Cela ne fonctionne pas. Vous avez besoin d'en-tête = header.PadRight (...) ;. – Guffa

Questions connexes