Reputation: 66
In order to serialize a 2d array I am first flattening it like so:
InfoCell[,] cells = new InfoCell[size, size];
List<InfoCell> flattenedCells= new List<InfoCell>();
foreach(InfoCell infoCell in cells )
{
flattenedCells.Add(infoCell);
}
Knowing the size of the 2d array, how can I convert this 1d List back into a 2d array?
Upvotes: 0
Views: 141
Reputation: 1327
You can try something like this:
var array = new string[rowsSize, columnSize];
var list = new List<string>();
for (var i = 0; i < rowsSize; i++)
{
for (var j = 0; j < columnSize; j++)
{
list.Add(array[i,j]);
}
}
var newArray = new string[rowsSize, columnSize];
for (var i = 0; i < rowsSize; i++)
{
for (var j = 0; j < columnSize; j++)
{
var index = i * columnSize + j;
newArray[i, j] = list[index];
}
}
Upvotes: 1