VB.NET中的新行

Nig*_*ker 2 vb.net

为什么,当我做我的代码时:

"Land Location \\r\\n Roundoff (C)"
Run Code Online (Sandbox Code Playgroud)

\\r\\n 在输出端看到了 而不是新的线路馈线?

知道怎么做吗?

正如我所说,我必须只有一个字符串,而不使用"&".我可以把它vbCrLf放在我的弦内吗?

Guf*_*ffa 9

VB中没有\转义码,因此您不能在字符串文字中放置换行符.VB字符串中唯一的转义字符是用于在字符串中插入引号的双引号.

您可以将VB常量用于Windows类型换行符:

"Land Location " & vbCrLf & " Roundoff (C)"
Run Code Online (Sandbox Code Playgroud)

要使代码与平台无关,您应该使用NewLine属性:

"Land Location " & Environment.NewLine & " Roundoff (C)"
Run Code Online (Sandbox Code Playgroud)

是否应该使用与平台无关的代码取决于具体情况.

如果由于某种原因需要它作为单个字符串,则必须使用换行符标记,在使用字符串时替换它:

Dim s As String = "Land Location \n Roundoff (C)"
s = Replace(s, "\n", Environment.NewLine)
Run Code Online (Sandbox Code Playgroud)


YOU*_*YOU 5

可能是"土地位置"和vbCR&vbLF .....

-

编辑:根据@ JeffSahol的评论,你可以使用自VB 14以来的字符串插值,所以它可以像

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

  • 它是'在同一个字符串',编译器将连接常量字符串 (5认同)
  • 你可以做`String.Format("第1行{0}第2行",vbCrLf)`,但它真的仍然是连接的 (2认同)

mon*_*ksy 5

而不是在String中手动包含换行符使用System.Environment.NewLine.