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