在c#中,你可以像:
string s = @"hello there mister";
VB.NET是否有类似的东西不涉及字符串连接?我希望能够在两个双引号之间粘贴多行文本。不知何故,我不相信VB.NET支持这个。
答案 0 :(得分:15)
编辑:VS2015 ONWARDS
你现在可以通过写这样的方式在VS2015中拥有多条线:
Dim text as String = "
This
Is
Multiline
Text!"
VB .NET中没有多行字符串文字 - 你可以得到的最接近的东西(不使用LINQ)是一个带连接的多行语句。
在VS2010之前:
Dim x = "some string" & vbCrlf & _
"the rest of the string"
2010年后:
Dim x = "some string" & vbCrlf &
"the rest of the string"
XML / LINQ技巧是:
Imports System.Core
Imports System.XML
Imports System.XML.Linq
Dim x As String = <a>Some code
and stuff</a>.Value
但是由于XML语义,这限制了你可以在<a></a>
块中放置的字符。如果您需要使用特殊字符将文本包装在标准CDATA
块中:
Dim x As String = <a><![CDATA[Some code
& stuff]]></a>.Value
答案 1 :(得分:5)
不,但你可以使用像这样的xml技巧:
Dim s As String = <a>hello
there
mister</a>.Value
或将您的字符串放在项目资源中。
答案 2 :(得分:2)
我不知道这是否是最佳方式,但我认为没有相应的操作符。
Dim myString As String =
"Hello" & Environment.NewLine & "there" & Environment.NewLine & "mister"
我认为Environement.NewLine
采用正确的换行符,具体取决于操作系统。
编辑:我刚刚读到你想在代码中直接插入文本多行,所以还有另一种可能的解决方案:
你必须使用字符串引号和逗号,但这里是
Dim myList as new List(of String) (new String(){
"Hello",
"there",
"mister"
})
Dim result as String
For Each bob as String In myList
result += bob & Environment.NewLine
next
答案 3 :(得分:0)
这是MSDN推荐的 http://msdn.microsoft.com/en-us/library/5chcthbw(v=vs.80).aspx
MyString =“这是我的字符串的第一行。” &安培; VbCrLf&amp; _ “这是我的第二行。” &安培; VbCrLf&amp; _ “这是我的第三行。”