В настоящее время я использую Array.Copy для перемещения массива как такового:
Array.Copy(array, 0, array, 1, array.Length - 1);
Это заметно быстрее, чем использование цикла. Я знаю, что подобные функции на других языках (например, memcpy) являются undefined или иногда ломаются, когда компилятор становится слишком агрессивным. Можно ли считать это безопасным в .NET?