Преобразовать одномерный байтовый массив в трехмерный байтовый массив - C#

Узнай цену своей работы

Формулировка задачи:

При выполнении функции выпадает исключение: "Выдано исключение типа System.OutOfMemoryException" что не так?
 //преобразование одномерного массива в трехмерный
        public byte[, ,] FromOneToThree(byte[] array)
        {          
            byte[, ,] b = new byte[array.GetLength(0) / 3, array.GetLength(0) / 3, array.GetLength(0) / 3]; //на эту строку ругается
          
            var x = 0;
            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    for (int k = 0; k < 3; k++)
                    {
                        b[i,j,k] = array[x];
                        x++;
                    }
                }
            }          
            return b;
        }

Решение задачи: «Преобразовать одномерный байтовый массив в трехмерный байтовый массив»

textual
Листинг программы
byte[, ,] b = new byte[(int)Math.Pow(array.GetLength(0), 1 / 3f), (int)Math.Pow(array.GetLength(0), 1 / 3f), (int)Math.Pow(array.GetLength(0), 1 / 3f)];

Оцени полезность:

7   голосов , оценка 3.571 из 5
Похожие ответы