2012-12-28 4 views
5

In C Io uso "1st line 1\n2nd line" per una nuova riga, ma per quanto riguarda VB? Conosco "1st line" & VbCrLf & "2nd line" ma è troppo prolisso, qual è il carattere di escape per una nuova riga in VB?VB newline escape char?

voglio stampare

1st line 
2nd line 

Ho provato ad utilizzare \n ma emette sempre questo non importa quante volte ho eseguito il compilatore

1st line\n2nd line 

Tutte le idee?

+0

Puoi anche usare 'myStr = myStr.Replace (" \ n ", Environment.NewLine)' dove myStr contiene già il tuo contenuto incl. \ N. Funziona bene anche come estensione personalizzata. – K3N

risposta

7

È necessario utilizzare Environment.NewLine. Che valuta CR + LF su Windows e LF su sistemi Unix.

Non ci sono sequenze di escape per i caratteri CR o LF in VB. Ed è per questo che lo "\n" viene trattato letteralmente. Quindi, Environment.NewLine è il tuo ragazzo.

2

Si dice VB, ma è stato codificato con VB.NET. Anche la tua domanda è leggermente strana. Diversi sistemi operativi richiedono effettivamente caratteri di nuova riga diversi. Quello che vuoi è Environment.NewLine. Ciò fornirà i caratteri della nuova riga corretta, indipendentemente dal sistema operativo su cui è in esecuzione il framework .NET.

3

Come altri hanno già detto, si dovrebbe usare la proprietà Environment.NewLine sensibile all'ambiente. vbCrLf è una vecchia costante VB6 che viene fornita in VB.NET per retrocompatibilità. Così, per esempio, si dovrebbe utilizzare:

"1st line" & Environment.NewLine & "2nd line" 

Se questo è troppo prolisso quando si hanno molte linee, è possibile utilizzare la classe StringBuilder, invece:

Dim builder As New StringBuilder() 
builder.AppendLine("line 1") 
builder.AppendLine("line 2") 
builder.AppendLine("line 3") 
builder.AppendLine("line 4") 

Se è specificamente necessario il CR e LF caratteri, dovresti usare le costanti nella classe ControlChars invece della vecchia costante vbCrLf.

0

ho ancora utilizzando il vecchio stile chr(13) ad esempio:

"Hello" & chr(13) & "World" 

Essa si traduce in:

Hello 
World 

EDIT: Come Dave Doknjas ha detto, nel tuo caso sarebbe chr(10) per alimentare la linea.

+1

Se hai intenzione di usare Chr, quindi usa Chr (10) - che è l'equivalente di "\ n" (che è la domanda originale). –