2009-11-29 10 views
2

Pourquoi, quand je n'im mon code:Nouvelle ligne à VB.NET

"Land Location \\r\\n Roundoff (C)" 

je vois le \\r\\n et non un nouveau dispositif d'alimentation en ligne à la sortie?

Une idée de comment faire cela?

Comme je l'ai dit je ne dois avoir qu'une seule chaîne là-bas, sans utiliser un "&". Puis-je mettre cette vbCrLf à l'intérieur de ma ficelle d'une façon ou d'une autre?

+0

en double de http: // stackoverflow .com/questions/1302804/how-do-i-ajouter-un-newline-à-un-windows-forms-textbox – Cyclone

Répondre

5

Peut-être "Land Location" & vbCr & vbLf .....

-

Edit: par @JeffSahol's comments, vous pouvez utiliser string interpolation depuis VB 14, il peut donc être comme

$"...{vbCrLf}..."

+0

Je dois l'avoir dans la même chaîne, et ne pas commencer à l'ajouter –

+5

il est 'dans le même chaîne ', le compilateur va concaténer les chaînes constantes –

+0

Je dois voir une seule chaîne avant de compiler. Existe-t-il un moyen de placer vbCrLf dans la chaîne et de ne pas utiliser &? –

1
vbCrLf 
vbCr 
vbLf 
+0

Je dois avoir tous écrit en une seule chaîne. –

5

au lieu d'inclure la nouvelle ligne manuall y dans la chaîne, utilisez System.Environment.NewLine.

+0

+1. C'est la manière recommandée de le faire, mais 99 fois sur 100, il est peu probable que vous passiez à Linux (disons). –

+0

... Si nous parlons VB.NET et pas seulement VB ... –

+0

Il a été marqué comme VB.net. Aussi ... cela aide à porter le code sur C# aussi. – monksy

8

Il n'y a pas de \ codes d'échappement dans VB, donc vous ne pouvez pas mettre un saut de ligne dans un littéral de chaîne. Le seul caractère d'échappement dans les chaînes VB est les guillemets doubles utilisés pour insérer un guillemet dans une chaîne.

Vous pouvez utiliser la constante VB pour un saut de ligne de type de Windows:

"Land Location " & vbCrLf & " Roundoff (C)" 

Pour le code à la plate-forme indépendante, vous devez utiliser la propriété NewLine à la place:

"Land Location " & Environment.NewLine & " Roundoff (C)" 

Que vous devriez utiliser le code indépendant de la plate-forme ou non dépend de la situation.

Si vous avez besoin comme une seule chaîne pour une raison quelconque, vous devez utiliser un marqueur pour le saut de ligne, que vous remplacez lorsque vous utilisez la chaîne:

Dim s As String = "Land Location \n Roundoff (C)" 
s = Replace(s, "\n", Environment.NewLine) 
+0

Cela n'a aucun sens. Faites juste un format String. – monksy

+1

@steven: De quoi parlez-vous? Où et pourquoi String.Format aurait-il plus de sens? – Guffa

+0

+1 pour Environment.NewLine au lieu de vbCrLf ou vbNewLine – PhilPursglove

Questions connexes