Многострочные строки в VB.NET

Есть ли способ иметь многострочные строки в VB.NET как Python

a = """
multi
line
string
"""

или PHP?

$a = <<<END
multi
line
string
END;

Конечно, что-то, что не является

"multi" & _
"line
138
задан Isaace96 2 August 2019 в 15:34
поделиться

4 ответа

You can use XML Literals to achieve a similar effect:

Imports System.XML
Imports System.XML.Linq
Imports System.Core

Dim s As String = <a>Hello
World</a>.Value

Remember that if you have special characters, you should use a CDATA block:

Dim s As String = <![CDATA[Hello
World & Space]]>.Value

2015 UPDATE:

Multi-line string literals were introduced in Visual Basic 14 (in Visual Studio 2015). The above example can be now written as:

Dim s As String = "Hello
World & Space"

MSDN article isn't updated yet (as of 2015-08-01), so check some answers below for details.

Details are added to the Roslyn New-Language-Features-in-VB-14 Github repository.

217
ответ дан 23 November 2019 в 23:26
поделиться

Нет, VB.NET еще не имеет такой функции. Это будет доступно в следующем повторении VB (Visual Basic 10) однако (ссылка)

-9
ответ дан 23 November 2019 в 23:26
поделиться

если это похоже на C# (у меня нет VB.Net установленным), можно снабдить префиксом строку

foo = @"Multiline
String"

это также полезно для вещей как "C:\Windows\System32\" - это по существу выключает выход и включает мультилинию.

-16
ответ дан 23 November 2019 в 23:26
поделиться

VB.Net не имеет такой функции, и он не будет прибывать в Visual Studio 2010. Функцию, которую отсылает jirwin, называют неявным продолжением строки. Это имеет отношение к удалению _ от многострочного оператора или выражения. Это действительно устраняет необходимость завершить многострочную строку с _, но в VB нет все еще никакого строкового литерала mult-строки.

Пример для многострочной строки

Visual Studio 2008

Dim x = "line1" & vbCrlf & _
        "line2"

Visual Studio 2010

Dim x = "line1" & vbCrlf & 
        "line2"
48
ответ дан 23 November 2019 в 23:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: