Возможный дубликат:
Многострочные строки в VB.NET
В С# вы можете быть похожими:
string s = @"hello
there
mister";
Есть ли у VB.NET что-то подобное, не связанное с конкатенацией строк? Я хотел бы иметь возможность вставлять многострочный текст между двумя двойными кавычками. Почему-то я не верю, что VB.NET поддерживает это.
Ответ 1
В 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
Но это ограничивает, какие символы вы можете разместить внутри блока <a></a>
из-за семантики XML. Если вам нужно использовать специальные символы, оберните текст в стандартный блок CDATA
:
Dim x As String = <a><![CDATA[Some code
& stuff]]></a>.Value
Ответ 2
Нет, но вы можете использовать трюк xml следующим образом:
Dim s As String = <a>hello
there
mister</a>.Value
или поместите свою строку в ресурс проекта.
Ответ 3
Я не знаю, если это лучший способ сделать это, но я не думаю, что есть эквивалентный оператор.
Dim myString As String =
"Hello" & Environment.NewLine & "there" & Environment.NewLine & "mister"
Я думаю, что Environement.NewLine
берет правильную линию, в зависимости от ОС.
EDIT: я только что прочитал, что вы хотите вставить текст многострочный непосредственно в код, так что есть еще одно возможное решение:
Вам нужно использовать строковые цитаты и запятые, но здесь
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
Ответ 4
Это то, что MSDN рекомендует
http://msdn.microsoft.com/en-us/library/5chcthbw(v=vs.80).aspx
MyString = "Это первая строка моей строки." и VbCrLf и _ "Это вторая строка моей строки". и VbCrLf и _ "Это третья строка моей строки".