VB.NET是否具有与c#等效的多行字符串声明语法?
可能重复:VB.NET是否具有与c#等效的多行字符串声明语法?,c#,vb.net,C#,Vb.net,可能重复: 在c#中,你可以像: string s = @"hello there mister"; 字符串s=@“你好 那里 先生”; VB.NET是否有类似的东西不涉及字符串连接?我希望能够在两个双引号之间粘贴多行文本。不知何故,我不相信VB.NET支持这一点。我不知道这是否是最好的方法,但我认为没有等效的运算符 Dim myString As String = "Hello" & Environment.NewLine & "there" & Environmen
在c#中,你可以像: string s = @"hello there mister"; 字符串s=@“你好 那里 先生”;
VB.NET是否有类似的东西不涉及字符串连接?我希望能够在两个双引号之间粘贴多行文本。不知何故,我不相信VB.NET支持这一点。我不知道这是否是最好的方法,但我认为没有等效的运算符
Dim myString As String =
"Hello" & Environment.NewLine & "there" & Environment.NewLine & "mister"
我认为环境.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
不需要,但可以使用如下xml技巧:
Dim s As String = <a>hello
there
mister</a>.Value
Dim s As String=hello
那里
先生,价值观
或者将字符串放入项目资源中。这是MSDN的建议 MyString=“这是我字符串的第一行。”&VbCrLf&_ “这是我字符串的第二行。”&VbCrLf&_
“这是我的字符串的第三行。”编辑:VS2015以后 您现在可以在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
在VB.NET 14中,您现在可以这样做:
dim multiline=$“multiline String!”
@LukeTO'Brien在新的VB中,您实际上甚至不需要插值。不幸的是,此解决方案仍然不能满足我最初的要求,即我希望能够在两个双引号之间粘贴多行文本。要将这个字符串数组重新组合在一起,我仍然必须依赖某种形式的连接,无论是在VbCrLf
处连接数组,还是在循环中使用&=
。不过,谢谢。我相信字符串插值适用于多行。既然VB.NET 14支持多行文字,您是否可以更新此答案:
Dim x As String = <a><![CDATA[Some code
& stuff]]></a>.Value