I have seen that C# “is optimized” for accessing 1D array (does not call a function to access element), but for multidim-arrays function GetValue is called each time. Why not instead of calling this function each time “normal” access (pointers shifting + checking) is not implemented or at least this function is not flattened ?
I can not find the logical reason.
(performance for multidim-arrays are not great)
I didn’t uncheck “Supress JIT optimization…” therefore function call GetValue wasn’t inlined.
Optimized code: