5

CI では"1st line 1\n2nd line"改行に使用されますが、VB ではどうでしょうか。私は知って"1st line" & VbCrLf & "2nd line"いますが、あまりにも冗長です.VBの改行のエスケープ文字は何ですか?

印刷したい

1st line
2nd line

使用してみ\nましたが、コンパイラを何度実行しても常にこれが出力されます

1st line\n2nd line

何か案は?

4

5 に答える 5

8

を使用する必要がありますEnvironment.NewLine。これは、Windows では CR+LF、Unix システムでは LF と評価されます。

VB には CR または LF 文字のエスケープ シーケンスはありません。"\n"そしてそれが文字通りに扱われる理由です。だから、Environment.NewLineあなたの男です。

于 2012-12-28T21:47:21.620 に答える
3

他の人が言ったように、環境に敏感なEnvironment.NewLineプロパティを使用する必要があります。 vbCrLf下位互換性のために VB.NET で提供されている古い VB6 定数です。したがって、たとえば、次を使用する必要があります。

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

行数が多くて長すぎる場合はStringBuilder、代わりにクラスを使用できます。

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

特に CR および LF 文字が必要な場合ControlCharsは、古い定数の代わりにクラス内の定数を使用する必要がありますvbCrLf

于 2012-12-28T21:59:01.017 に答える
2

あなたはVBと言いますが、VB.NETでタグ付けされています。あなたの質問も少し奇妙です。OSが異なれば、実際には異なる改行文字が必要になります。あなたが欲しいのはですEnvironment.NewLine。これにより、.NET Frameworkが実行されているOSに関係なく、正しい改行文字が得られます。

于 2012-12-28T21:46:49.873 に答える