I have the following simple test code:
List<byte> test = new List<byte>();
for (int i = 0; i <= 0xFF; i++)
{
test.Add((byte)i);
}
byte[] testAsArray = test.ToArray();
I break after that last line. In the locals window in Visual Studio the array testAsArray starts as I would expect with testAsArray[0] equal to 0x00. But when I open Visual Studio's memory window and type testArray into the address box this is what I see:
Before the start of the expected byte sequence I have eight other bytes, i.e. the memory in the location testArray starts
30 72 12 04 00 01 00 00
00 01 02 03 04 05 06 07
08 09 0a 0b 0c 0d 0e 0f
…
What are the leading eight bytes? What expression would I need to type into the memory window's address box to go directly to the head of the actual byte array?

Memorywindow? Why? If you would really want to know what you are asking the question would be different.Watch,Localor evenAutowindow? You can right click and choose " display as hexadecimal" there if that is the problem.