BadCats
@BadCats

Error CS0103: Имя “$exception” не существует в текущем контексте?

Возникает следующая ошибка:
public Column(int column)
    {
        this.column = column;
        Counter = column;
        onColumnCreate += new CreateColumn(Cell.Re_Linked_atColumn);
        for (int i = 0; i < Counter; i++)
        {
            cellArr[i] = new Cell(i);
            //Cell_Counter++;
        }


    }

создается столбец таблицы.
onColumnCreate += new CreateColumn(Cell.Re_Linked_atColumn);
- отвечает за поиск соседей ячеек при создании столбца.
cellArr[i] = new Cell(i); - заполняем массив ячеек - ячейками

Также тут еще есть небольшой финт:
public static Cell[] cellArr = new Cell[Counter];

    public static event CreateColumn onColumnCreate;
    //public static int Cell_Counter=0;
    int column;
    public static int Counter;

- сам Counter является static и в Re_Linked_atColumn я делаю следующее:
nt c = Column.Counter;
        Column.Counter = c; - что бы помнить значение Counter и при создании нового столбца продолжать с того же места.

Вот сам класс Cell экземпляры которого я создаю
public class Cell
{


    public static List<bool> west = new List<bool>();
    public static List<bool> east = new List<bool>();
    public static List<bool> north = new List<bool>();
    public static List<bool> south = new List<bool>();
    static int RowCount = 0;
    static int ColumnCount = 0;
    int Cell_Index;


    public Cell(int Index)
    {
        this.Cell_Index = Index;
    }

    public int index
    {
        get { return Cell_Index; }
    }

но проблема, в том , что уже на перво итерации вот здесь :
for (int i = 0; i < Counter; i++)
        {
            cellArr[i] = new Cell(i);
            //Cell_Counter++;
        } - смотрел под отладчиком - смотрел оно один раз заходит в Cell -в конструктор Cell и затем выкидывает из цикла с ошибкой :

System.IndexOutOfRangeException: "Индекс находился вне границ массива."

Вот скрин:
5aaec8c536f13727921670.jpeg
  • Вопрос задан
  • 693 просмотра
Решения вопроса 1
GavriKos
@GavriKos
У вас массив меньше, чем Counter. Где то в коде вы Counter увеличили, а размер массива остался старым.
Самый быстрый выход - использовать List
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы