Junior — Middle
How is the storage of arrays of structures implemented in memory, and what features are associated with it?
sobes.tech AI
Answer from AI
In C#, an array of structures is stored as a contiguous block of memory, where each element is the structure object itself, not a reference to it. This means that the structure in the array is located sequentially, without an additional level of indirection.
Features:
- Structures are value types, so when added to the array, their contents are copied.
- Modifying an array element changes exactly that element, not a copy.
- The size of the array equals the size of the structure multiplied by the number of elements.
- This provides good performance and compact storage, especially for small structures.
Example:
struct Point { public int X, Y; }
Point[] points = new Point[3];
points[0] = new Point { X = 1, Y = 2 };
points[1] = new Point { X = 3, Y = 4 };
// In memory, there will be a sequential block of three Point structures