在 CI 中使用"1st line 1\n2nd line"
换行符,但是 VB 呢?我知道"1st line" & VbCrLf & "2nd line"
但它太冗长了,VB 中换行符的转义字符是什么?
我要打印
1st line
2nd line
我尝试使用\n
,但无论我运行编译器多少次,它总是输出这个
1st line\n2nd line
有任何想法吗?
你应该使用Environment.NewLine
. 在 Windows 上计算为 CR+LF,在 Unix 系统上计算为 LF。
VB 中没有 CR 或 LF 字符的转义序列。这就是为什么"\n"
按字面意思对待的原因。所以,Environment.NewLine
是你的家伙。
正如其他人所说,您应该使用环境敏感Environment.NewLine
属性。 vbCrLf
是一个旧的 VB6 常量,它在 VB.NET 中提供用于向后兼容。因此,例如,您应该使用:
"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
常量。
您说的是 VB,但使用 VB.NET 进行了标记。你的问题也有点奇怪。不同的操作系统实际上需要不同的换行符。你想要的是Environment.NewLine
. 无论 .NET 框架在什么操作系统上运行,这都会为您提供正确的换行符。
我仍然使用老式chr(13)
的例如:
"Hello" & chr(13) & "World"
结果是:
Hello
World
编辑:就像Dave Doknjas所说,在你的情况下,它将是chr(10)
为了喂线。
如果您正在寻找内联转义来完成诸如在 String.Format 中包含换行符之类的事情,您可以包含一个管道或类似的东西,然后在字符串的末尾替换它。
String.Format("Batch: {0} | ProductNumber: {1} | Formula: {2}", dr.Item("BatchNumber"), dr.Item("PartNum"), dr.Item("Formula") ).Replace("|", Environment.NewLine)