многомерные массивы классов из многомерного массива c# - PullRequest
0 голосов
/ 28 марта 2020

У меня есть массив значений 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>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...