Не могу обратиться к элементу массива string C#

Уже упростил эту часть кода до невозможного, но всё равно выдаёт ошибку:

System.IndexOutOfRangeException: "Index was outside the bounds of the array."

Указывая на строку с присвоением значения.

string[,] Table = new string[Convert.ToInt32(Math.Pow(2, 2)) + 1, 2 + 1];
Table[0, 0] = "A";

Вот полный код, здесь ругается на строку for (int col = 0; col < count; col++)

public string[,] MakeTable(List<char> vars, int count)
        {
            string[,] Table = new string[Convert.ToInt32(Math.Pow(2, count)) + 1, count + 1];
            for (int i = 0; i < count; i++) Table[0, i] = Convert.ToString(vars[i]);
            Table[0, count + 1] = "F";
            for (int col = 0; col < count; col++)
            {
                for (int row = 1; row < Convert.ToInt32(Math.Pow(2, count)); row++)
                {
                    if (col == 0)
                    {
                        if (row % 2 == 0) Table[row, col] = "0";
                        else Table[row, col] = "1";
                    }
                    if (col == 1)
                    {
                        if (row % 4 < 2) Table[row, col] = "0";
                        else Table[row, col] = "1";
                    }
                    if (col == 2)
                    {
                        if (row % 8 < 4) Table[row, col] = "0";
                        else Table[row, col] = "1";
                    }
                    if (col == 3)
                    {
                        if (row % 16 < 8) Table[row, col] = "0";
                        else Table[row, col] = "1";
                    }
                }
            }
            for (int i = 1; i < Convert.ToInt32(Math.Pow(2, count)); i++)
            {
                Table[i, count + 1] = "2";
            }
            return Table;
        }
        private void Generate_Click(object sender, EventArgs e)
        {
            string exp = Textbox.Text;
            int count = 0;
            List<char> vars = new List<char>();
            foreach (char el in exp)
            {
                bool u = false;
                if (Char.IsLetter(el))
                {
                    foreach (char i in vars) if (el == i) u = true;
                    if (u == false)
                    {
                        count++;
                        vars.Add(el);
                    }
                }
            }
            string[,] Table = MakeTable(vars, count);
        }

Ответы (0 шт):