C# не поддерживает массивы в стиле [*]
(одномерные с отсчетом от нуля). Попытка приведения к int[]
вызовет исключение.
Единственный вариант, который у вас есть, — это привести к System.Array
, а затем использовать эти методы для его изменения:
В качестве альтернативы, конечно, вы всегда можете использовать Array.GetLength
, чтобы найти длину массива, создать экземпляр стандартного int[]
той же длины, а затем использовать Array.Copy
, чтобы скопировать данные. Затем вы можете использовать array[i]
как обычно, но имейте в виду, что теперь вы работаете с отдельной копией.
P.S. Как уже было сказано, распаковать — неправильное слово. Упаковка/распаковка используется только с типами значений, но массивы всегда являются ссылочными типами (даже массивы типов значений являются ссылочными типами). То, что вы ищете, называется приведением. Переменная Array
будет содержать ссылку на тот же объект, что и переменная object
.
person
Timwi
schedule
27.01.2011