Je voulais insérer plusieurs nouvelles lignes dans une chaîne, donc j'ai utilisé une chaîne interpolée comme mon choix d'un mécanisme de format qui devrait être assez rapide. P>
Exemple: p>
maintenant cela fonctionne, mais comment puis-je mieux insérer plusieurs Je suis au courant de string mystring = $ "une ligne {environnement.newline} {environnement.newline} {environnement.newline} une autre ligne {environnement.newline} end"; code> p> p>
environnement.NewLine code> dans une chaîne interpolée; Par exemple, si je le voulais 15, cela devient encombrant. P>
string.replace ( code>,
string.format () code> et concaténation
environnement.newline + environnement.newline + environnement.newline Code> ainsi que la chaîne littérale
@ "trucs" code> avec des lignes vierges Cependant, ce n'est pas la question (une alternative) mais plutôt comment insérer des multiples si mon faux exemple de p>
string mystring = $ "une ligne {environnement.newline (3)} une autre ligne {Environnement.Newline} Texte de fin"; Code> P>
3 Réponses :
Vous pouvez écrire une méthode d'assistance simple pour obtenir une chaîne répétée, puis appeler cela: et si vous ne voulez pas appeler explicitement une autre fonction, vous pouvez écrire une extension. Méthode: p> et ensuite la syntaxe est plus simple: p>
Noté en question, je connais à propos de cette option, merci
Réponse mise à jour.
Une des raisons est d'optimiser une application à fortement performante, créant ainsi un StringBuilder CODE> ou effectue une boucle, appelant une méthode personnalisée, etc. est / n'était pas une option considérée. Merci d'avoir posté cependant car cela pourrait correspondre à la situation de quelqu'un d'autre.
Je suis à peu près sûr que toute solution qui prend une chaîne et un compte va utiliser une boucle dans les coulisses. C'est à dire. énumérable.Repeat code>
et stringbuilder. Insérer code>
. Pour la performance, je suppose que vous voulez quelque chose qui se résout à la compilation. Pas sûr de celui-là.
Peut-être pas la solution la plus élégante, mais vous pouvez appeler une méthode à partir d'une chaîne interpolée. La méthode peut renvoyer un nombre spécifié de nouvelles lignes. Appelez simplement P> string mystring = $"one line{NewLines(3)}another line{NewLines(1)}end text";
LINQ peut faire ceci:
var fifteenNewlines = string.Concat(Enumerable.Repeat(Environment.NewLine, 15));
Je vois cette réponse était déjà donné dans un double .