У меня есть object
типа Array
(то есть object.GetType().IsArray
возвращает true). Мой вопрос в том, как я могу узнать, является ли он зубчатым или многомерным массивом? Есть ли способ сериализовать массив, чтобы код «не знал» разницы (используя отражение)?
Обратите внимание, что массив имеет произвольную длину/размер. Я подумал, что, возможно, я мог бы разобрать Type.Name
для поиска [,
(как в одной части [,,]
) или [][]
, чтобы различать их, но это все равно означает, что у меня будет два пути кода для каждого случая, и я чувствую, что должно быть это лучший способ сделать это, чем разбор имен типов.
Для зубчатого массива кажется достаточно простым взять массив, а затем продолжить индексировать его, используя []
для перебора всех элементов, однако этот подход не работает для многомерных массивов.