VB12

Visual Studio 2013のVBでも試してみた
恒例の↓コレをコンパイルするとどうなるか

結果、相変わらずこんなil吐いて来た・・・orz=3

.locals init (int32[0...,0...] V_0)
ldc.i4     0xfe
ldc.i4.s   85
newobj     instance void int32[0...,0...]::.ctor(int32, int32)

stloc.0
ldloc.0
ldc.i4.0
ldc.i4.0
ldc.i4.m1
callvirt   instance void int32[0...,0...]::Set(int32, int32, int32)

ldloc.0
ldc.i4.0
ldc.i4.1
ldc.i4.0
callvirt   instance void int32[0...,0...]::Set(int32, int32, int32)

ldloc.0
ldc.i4.0
ldc.i4.2
ldc.i4.0
callvirt   instance void int32[0...,0...]::Set(int32, int32, int32)

ldloc.0
ldc.i4.0
ldc.i4.3
ldc.i4.0
callvirt   instance void int32[0...,0...]::Set(int32, int32, int32)

相変わらず数値型の配列初期化だけはくさっとんの
吐くILは一緒っぽいのでSystem.Runtime.CompilerServices.RuntimeHelpers::InitializeArrayに変換するスクリプトはそのまま使えそう


それにしてもなんや、この内部バージョン
それそろ意味分からんなってきた

Microsoft (R) Visual Basic Compiler version 12.0.30501
for Visual Basic 11