[VB 14.0 新機能] NameOf演算子

変数名やプロパティ名、クラス名などを文字列として取得したい場合があります。
これを実現するためにVB 14.0ではNameOf演算子が追加されました。

Public Class Sample
    Private _width As Integer = 20
    Private Const FIXED_STRING As String = "固定文字列"

    Private Function SayHello(name As String)
        Return $"Hello, {name}"
    End Function

    Public Property FirstName As String

    Public Sub PrintName()
        Console.WriteLine(NameOf(Sample))           'クラス名
        Console.WriteLine(NameOf(_width))           'フィールド
        Console.WriteLine(NameOf(FIXED_STRING))     '定数
        Console.WriteLine(NameOf(FirstName))        'メソッド
    End Sub

End Class

[VB 14.0 新機能] 文字列中の改行

これまで文字列中で改行をしたい場合は、以下のようなコードを記述していました。

Dim msg = "AAA" & vbCrLf & "BBB"

VB 14.0では以下のように文字列中で直接改行をすることで、改行コードを入れることが可能です。

Dim msg = "AAA
BBB"

また、VB 14.0では、文字列の先頭に$を付けて改行したい位置に{vbCrLf}を挿入することでも改行が可能です。

Dim msg = $"AAA{vbCrLf}BBB"

[VB 14.0 新機能] 文字列への変数埋め込み

これまで文字列内にある値を埋め込みたい場合はString.Formatメソッドを使用して以下のように記述する必要がありました。

Dim data As String = "pen"
Dim strText As String = String.Format("This is a {0}.", data)

VB 14.0では、文字列の先頭に$を付け変数を{}で囲んで埋め込むことが可能です。
実行すると、文字列に埋め込んだ変数の部分が実際の値に置き換えられます。

Dim data As String = "pen"
Dim strText As String = $"This is a {data}"