【发布时间】:2018-02-28 17:15:25
【问题描述】:
我有一个维度未知的多维数组在编译时,但在运行时(当我收到这样的数组时)它的维度被描述为int[] dimensions。 dimensions 的长度等于 Array 的 Rank,dimensions 的每个元素都包含相关维度的长度。
我想要获得的是一个类似的 Array,其元素映射到具有不同类型的新对象中。我认为 LINQ 可能很有用,所以我写了以下内容:
Array arr = ... //My multi-dimensional Array
var dimensions = ... //array describing the dimensions of arr. (NOT USED in the following but is an information i have)
var transformedArr = arr.Cast<StatusCode>().Select(val => JObject.FromObject(val)).ToArray();
它可以工作,但 transformedArr 现在只是一个一维数组,因此我丢失了我的多维矩阵。
您是否知道仅获得具有不同元素类型的相同数组?
请注意,我不知道数组的先验维度,仅在运行时。换句话说,我不能使用循环来索引多维数组。
任何想法将不胜感激:)
【问题讨论】:
标签: c# arrays multidimensional-array