10
votes

String.Format Line Break

J'ai une simple déclaration de code qui se lit comme suit: xxx

J'essaie d'obtenir cette chaîne formatée pour émettre chaque VaR sur sa propre ligne. Je suis nouveau sur vb.net mais j'ai essayé une chose: xxx

qui n'a pas fonctionné. Toute aide?


0 commentaires

7 Réponses :


19
votes

Que diriez-vous de cela:

Return New StringBuilder() _
    .AppendLine(_var1.ToString()) _
    .AppendLine(_var2.ToString()) _
    .AppendLine(_var3.ToString()) _
    .ToString()


4 commentaires

J'utiliserais votre premier exemple. De plus, vous n'avez pas besoin de TOSTRING () CHAQUE VARIABLE POUR APPENDLINE ()


@Pondidum: Eh bien, stringbuilder.appendline prend une chaîne argument , afin que l'op a option stricte sur il devra appeler TOSTRING Sauf si les trois variables sont déjà de type chaîne (qui n'était pas indiqué).


Ah, je cherchais append () pas appendline ()


Meilleur des deux: retour New StringBuilder (). Appendormat ("{1} {0} {2} {0} {3} {0}", _ Environnement.Newline, _var1, _var2, _var3) .tostring ( )



0
votes

J'irais avec quelque chose comme ceci: xxx


2 commentaires

Tous ceux qui ont répété vbcrlf et concats semblent manquer le point de string.format


Ce n'est vraiment pas mauvais, imo. Il est logique que cela soit plutôt que d'avoir des tonnes de substitutions pour rechercher les syntaxes d'alimentation de la ligne pour chaque "phrase" lignes.



2
votes

J'utiliserais quelque chose comme xxx


0 commentaires

0
votes

OK, VB est boiteux à cet égard. Que diriez-vous:

string.format ("var1: {0} \ nvar2: {1} \ nvar3: {2}". Remplacez ("\ n", vbcrlf), Var1, Var2, Var3)


0 commentaires

0
votes

Cela fonctionne également à l'aide de XML littéral pour la chaîne de format xxx


0 commentaires

1
votes
Function sformat([string], ParamArray args()) As String
    [string] = [string].replace("\n", vbLf)
    [string] = [string].replace("\r", vbCr)
    Return String.Format([string], args)
End Function
use like you would use string.format except call sformat(yourstring, param1, param2)

0 commentaires

0
votes

solution la plus simple: xxx

ou alternativement: xxx

Assurez-vous que vous êtes sur l'une des implémentations VB les plus actuelles. < / p>


0 commentaires