J'ai une simple déclaration de code qui se lit comme suit: 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: p> qui n'a pas fonctionné. Toute aide? P> P>
7 Réponses :
Que diriez-vous de cela:
Return New StringBuilder() _ .AppendLine(_var1.ToString()) _ .AppendLine(_var2.ToString()) _ .AppendLine(_var3.ToString()) _ .ToString()
J'utiliserais votre premier exemple. De plus, vous n'avez pas besoin de TOSTRING () CODE> CHAQUE VARIABLE POUR
APPENDLINE () CODE>
@Pondidum: Eh bien, stringbuilder.appendline code> prend une chaîne code> argument code>, afin que l'op a
option stricte sur code> il devra appeler
TOSTRING CODE> Sauf si les trois variables sont déjà de type
chaîne code> (qui n'était pas indiqué).
Ah, je cherchais append () code> pas
appendline () code>
Meilleur des deux: retour New StringBuilder (). Appendormat ("{1} {0} {2} {0} {3} {0}", _ Environnement.Newline, _var1, _var2, _var3) .tostring ( ) code>
J'irais avec quelque chose comme ceci:
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.
J'utiliserais quelque chose comme
OK, VB est boiteux à cet égard. Que diriez-vous: P>
string.format ("var1: {0} \ nvar2: {1} \ nvar3: {2}". Remplacez ("\ n", vbcrlf), Var1, Var2, Var3) P>
Cela fonctionne également à l'aide de XML littéral pour la chaîne de format
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)
solution la plus simple: ou alternativement: p> Assurez-vous que vous êtes sur l'une des implémentations VB les plus actuelles. < / p> p>