title: What is the header of an array in .NET
body: <p>I have a little bit seen the representation of an array in memory with Windbg and SOS plugin.</p>
  
  <p>Here it is the c# :</p>
  
  <pre><code>class myobj{
    public int[] arr;
  }
  class Program{
    static void Main(string[] args){
      myobj o = new myobj();
      o.arr = new int[7];
      o.arr[0] = 0xFFFFFF;
      o.arr[1] = 0xFFFFFF;
      o.arr[2] = 0xFFFFFF;
      o.arr[3] = 0xFFFFFF;
      o.arr[4] = 0xFFFFFF;
    }
  }
  </code></pre>
  
  <p>I break at final of Main, and I observ :</p>
  
  <pre><code>    0:000&gt; !clrstack -l
  OS Thread Id: 0xc3c (0)
  ESP       EIP     
  0015f0cc 0043d1cf test.Program.Main(System.String[])
      LOCALS:
          0x0015f0d8 = 0x018a2f58
  0:000&gt; !do 0x018a2f58
  Name: test.myobj
  MethodTable: 0026309c
  EEClass: 00261380
  Size: 12(0xc) bytes
   (C:\Users\admin\Documents\Visual Studio 2008\Projects\test\test\bin\Debug\test.exe)
  Fields:
        MT    Field   Offset                 Type VT     Attr    Value Name
  01324530  4000001        4       System.Int32[]  0 instance 018a2f64 tab
  0:000&gt; dd 018a2f64
  018a2f64  01324530 00000007 00ffffff 00ffffff
  018a2f74  00ffffff 00ffffff 00ffffff 00000000
  018a2f84  00000000 00000000 00000000 00000000
  </code></pre>
  
  <p>I can see that the header contains the size of the array (00000007) but my question is : what is the value 01324530 ?</p>
  
  <p>Thanks !</p>