У меня есть массив значений 9x9. Я хотел бы разделить эти значения на 3x3 "Клетки". Эти «Ячейки» являются объектами класса, которые также являются массивом 3х3. Моя проблема в том, что при создании l oop что-то происходит неправильно. Я добавил строку для отладки, которая выводит «Table [0,0] .Item (0,0)», где «Table» - массив объектов класса 3x3, а «.Item» - функция, которая возвращает то, что по индексу .Item (x, y) в «ячейке». К сожалению, по какой-то причине эта строка для отладки выдает разные значения при каждом цикле. Я только начал заниматься кодированием, и я уверен, что есть множество способов решить эту проблему, но сначала я хотел бы выяснить, почему мой текущий код не работает для изучения.
Вот где я пытаюсь и загрузить таблицу: («таблица» с нижним регистром в исходном массиве 9x9)
static void Load_Table()
{
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
Console.WriteLine("Current cell: " + i + "/" + j);
Cell tempCell = new Cell(table, i, j);
Table[i, j] = tempCell;
Console.WriteLine(Table[0, 0].Item(0, 0));
}
}
}
Класс Cell:
class Cell
{
public static int[] Cellvalue = new int[2];
public static int[,] content = new int[3, 3];
private int[] contains = new int[9];
public Cell(int[,] table,int column, int row)
{
Cellvalue[0] = column; Cellvalue[1] = row;
for (int i = 0;i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
//Console.WriteLine("{0}{1} {2}{3}",Cellvalue[0],Cellvalue[1],i,j);
content[i, j] = table[i + (Cellvalue[0] * 3), j+ (Cellvalue[1] * 3)];
}
}
}
public int Item(int column,int row)
{
return content[column, row];
}
}
И таблица и таблица:
static public int[,] table = new int[9, 9];
static public Cell[,] Table = new Cell[3, 3];
Большое спасибо заранее за помощь добрым незнакомцам <3. </p>