VB2015 の新機能

 [Home] |  [Index]

投稿日 2015/07/29

参考 MSDN Magazine : Visual Basic .NET - 14 Top Improvements in Visual Basic 14


Nothing 判別演算子 ?.

演算子 ?. が追加になりました。これは、ある変数の値が Nothing でない場合のみ ?. に続くメソッドを実行します。

Dim n As Integer? = 1000
Console.WriteLine(n?.ToString())
n = Nothing
Console.WriteLine(n?.ToString())

変数の埋め込み

$ を先頭に付けた文字列の中では、{ } で囲まれた文字列は変数とみなされて、その変数の値が文字列に埋め込まれます。

Dim a1 = If(args.Length > 1, args(1), "undefined")
Console.WriteLine($"Args(1) = {a1}")

改行を含む文字列 (ヒアドキュメント)

従来のバージョンでは改行を含む文字列は & 演算子などを使って記述し、直接記述できませんでした (C# は可能)。VB 2015 ではそれが可能になりました。

Dim mlstr = "{
 id:100,
 name:'Apple',
 amount:5
}"
Console.WriteLine(mlstr)

LINQ でのコメント

従来のバージョンでは LINQ 文の途中にコメントを入れることはできませんでした。このバージョンからは可能になったので、長い LINQ 文でも見やすく記述できます。

Dim Range As Integer() = { 1, 3, 5, 7, 9, 11, 13 }
' LINQ でのコメント。LINQ 文の途中にコメントを入れることが可能。
Dim col As IEnumerable(Of Int32) = From i In Range  ' Range から
                              Where i > 5  ' 5 より大きい要素を
                              Select i  ' 選びます。
' 結果を表示
For Each i In col
    Console.WriteLine(i)
Next

NameOf 演算子

通常のアプリケーションではあまり使い道がなさそうですが、変数の名前自体を得ることができるようです。Roslyn などで使用するらしい。

Dim sample As String = ""
Console.WriteLine(NameOf(sample))  ' sample と表示される。

 

ページの先頭へ