3 ms·
An array of value types (including structs) in .NET (not just C#) is laid out contiguously in memory and stored in-place like an array of C/C++ structs would be
by h4b4n3r0 8y ago
An array of value types (including structs) in .NET (not just C#) is laid out contiguously in memory and stored in-place like an array of C/C++ structs would be. The problem of chasing pointers does not exist if you use structs (and don't use non-value types such as strings within those structs). And .NET value types are mutable, of course.
- slavapestov 8y agoRight, but the array itself has reference semantics.
- pjmlp 8y agoNot when you allocate it on the stack via stackalloc, as of C# 7 also allowed in safe code.