I am talking about multidimensional arrays not jagged. What the JIT compiler does aside, just look at the IL that is generated:
byte[,] construction:
newobj instance void uint8[0...,0...]::.ctor(int32, int32)
byte[] construction:
newarr uint8
byte[,] setting:
call instance void uint8[0...,0...]::Set(int32, int32, ...