C#:
static void Main(string[] args)
{
int a = 0;
int[] b = new int[3];
}
IL:
.method private hidebysig static void Main(string[] args) cil managed
{
.entrypoint
// 11 (0xb)
.maxstack 1
.locals init ([0] int32 a,
[1] int32[] b)
IL_0000: nop
IL_0001: ldc.i4.0
IL_0002: stloc.0
IL_0003: ldc.i4.3
IL_0004: **newarr** [mscorlib]System.Int32
IL_0009: stloc.1
IL_000a: ret
}
si può vedere "newarr" Ecco un dettaglio su newarr http://www.dotnetperls.com/newarr
L'istruzione newarr non è molto interessante Ma espone un'importante decisione di progettazione di .NET Framework. I vettori (array 1D) sono separati dagli array 2D. E questa conoscenza può influenzare i tipi che scegli nei programmi.
La definizione è in mscorlib.dll nello spazio dei nomi di sistema. – PSL
Yo 'int []' è un array di ints. Gli array sono una sorta di elenco, puoi avere una matrice di qualsiasi cosa. Quella sintassi speciale viene copiata da C. Per qualsiasi motivo, non puoi usare la sintassi ordinaria 'Array', devi usare quella sintassi speciale. –