将交错的int[][]数组转换为object[][]数组
本文关键字:数组 转换 object int | 更新日期: 2023-09-27 18:24:45
有什么方法可以将int[][]
数组转换/强制转换为object[][]
数组?
int[][] = FillArray();
object[][] = iArray;
如果不想使用LINQ,可以使用Array.ConvertAll
。
int[][] iArray = FillArray();
object[][] oArray = Array.ConvertAll(iArray, x => Array.ConvertAll(x, y => (object) y));
LINQ的Cast
方法的其他答案也可以。
但正如我在评论中指出的,请确保您意识到您正在对数组的每个值进行装箱。如果阵列的大小相当大,这可能会导致性能问题。
你可以做:
object[][] objArray = iArray.Select(r => r.Cast<object>().ToArray())
.ToArray();
一些LINQ:
int[][] iArray = FillArray();
object[][] oArray = iArray.Select(i => i != null ? i.Cast<object>().ToArray() : null)
.ToArray();