【发布时间】:2022-01-15 13:07:54
【问题描述】:
为了序列化一个二维数组,我首先将其展平,如下所示:
InfoCell[,] cells = new InfoCell[size, size];
List<InfoCell> flattenedCells= new List<InfoCell>();
foreach(InfoCell infoCell in cells )
{
flattenedCells.Add(infoCell);
}
知道二维数组的大小,如何将这个一维列表转换回二维数组?
【问题讨论】:
-
我不认为我理解这个问题。 -- 分配另一个二维数组并循环?
-
问题是如何将这个一维列表转换回二维数组。我在退出会话时保存 1d 列表(因为我无法序列化 2d 数组),当我重新加载时,我想使用 1d 列表填充 2d 数组。
-
你需要一些关于如何将 1d 转换回 2d 的逻辑......真的取决于你的结构。您的初始二维数组是否总是方阵? AKA 按大小计算?
-
序列化成什么?转换 1 2 维并不是你真正的问题。
-
如果是这样,并且你知道你的长度是一个平方长度......然后你可以计算出你的二维数组的维度, - 以及一维数组的每个“大小”条目数, -- 这是二维数组的 1 行或 1 列