2013年6月25日

VB.NET のダブルコーテーション(二重引用符)

VB.NET のダブルコーテーション(二重引用符)は、 全角「“”"」 半角「"」すべて半角として解釈される。
※Visual Studio のエディタは全角ダブルコーテーションを自動で半角にするため、下記を試す場合はテキストエディタ+vbcで

'文字列リテラルの開始と終了も全角使用可能(全角半角の混在も可能)
'文字列リテラル内の全角ダブルコーテーションはエスケープが必要
Dim strings = {”a”, “b“, "c", "””", "““", """"}
Console.WriteLine(String.Join(",", strings)) '結果「a,b,c,",","」

'文字リテラルも同様
Dim chars = {”a”c, “b“c, "c"c, "””"c, "““"c, """"c}
Console.WriteLine(New String(chars)) '結果「abc"""」

そのため、文字列リテラルでは、全角ダブルコーテーションが表現できない。
非.NET の VB から続く残念仕様・・・
全角ダブルコーテーションが必要な場合は、定数として定義しておくのがベター。

Public Class SpecialChars
    Public Const LeftDoubleQuote = ChrW(&H201C)  '“
    Public Const RightDoubleQuote = ChrW(&H201D) '”
    Public Const FullwidthQuote = ChrW(&HFF02)   '"
End Class

0 件のコメント:

コメントを投稿