Этот тип кода принципиально небезопасен, он побеждает систему типов компилятора.И не будет принят проверяющим.Если вы случайно объявите неверный массив, например, 3 элемента, то вы повредите память и создадите очень сложную для диагностики ошибку.
Однако это также можно сделать безопасно:
byte[] test = BitConverter.GetBytes(0xaabbccdd);
Какой небольшой недостаток, что он создает массив для вас.В обход этого требуется небезопасная версия:
fixed (byte* ptr = test)
{
*((uint*)ptr) = 0xaabbccdd;
}
, которая требует использования ключевого слова unsafe в объявлении метода и отметьте опцию Project + Properties, Build, «Allow unsafe code».