7

重複の可能性:
VB.NETの複数行の文字列

C#では、次のようになります。

文字列s=@ "hello
そこの
ミスター";

VB.NETには、文字列の連結を伴わない類似したものがありますか?2つの二重引用符の間に複数行のテキストを貼り付けられるようにしたいと思います。どういうわけか、VB.NETがこれをサポートしているとは思いません。

4

4 に答える 4

15

編集: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

<a></a>ただし、これにより、XMLセマンティクスのために、ブロック内に配置できる文字が制限されます。特殊文字を使用する必要がある場合は、テキストを標準CDATAブロックでラップします。

Dim x As String = <a><![CDATA[Some code
& stuff]]></a>.Value
于 2012-08-14T14:41:24.747 に答える
5

いいえ。ただし、次のようなxmlトリックを使用できます。

Dim s As String = <a>hello
there
mister</a>.Value

または、文字列をプロジェクトリソースに配置します。

于 2012-08-14T14:40:10.093 に答える
2

これを行うのに最適な方法かどうかはわかりませんが、同等の演算子はないと思います。

Dim myString As String =
"Hello" & Environment.NewLine & "there" & Environment.NewLine & "mister"

Environement.NewLineOSによっては、正しい改行が必要だと思います。

編集:テキストをコードに直接複数行挿入したいということを読んだので、別の可能な解決策があります:

まだ文字列の引用符とコンマを使用する必要がありますが、ここでは

    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
于 2012-08-14T14:40:09.983 に答える
0

これは、MSDNが推奨するものです http://msdn.microsoft.com/en-us/library/5chcthbw(v=vs.80).aspx

MyString="これは私の文字列の最初の行です。" &VbCrLf&_"これは私の文字列の2行目です。" &VbCrLf&_"これは私の文字列の3行目です。"

于 2012-08-14T14:40:52.503 に答える