Как объявить инициализированный многомерный массив класса с использованием C # - PullRequest
0 голосов
/ 29 марта 2019

Это не работает! Как это сделать?

class myClass
{
    public int x;
    public string y;

    public myClass()
    {
    }

    public myClass(int _x, string _y)
    {
        x = _x;
        y = _y;
    }
}

myClass [,] myArray = new myClass[3,2] =
{
    {
        new myClass(1, "string11");
        new myClass(2, "string12");
    };
    {
        new myClass(1, "string21");
        new myClass(1, "string22");
    };
    {
        new myClass(1, "string31");
        new myClass(1, "string32");
    }
};

Я пытаюсь создать инициализированный многомерный массив класса, и я не могу заставить компилятор принять его. Что я делаю не так?

Я изменил {на (и изменил запятые на точки с запятой - все еще не нравится объявление myClass [,] myArray = new myClass [3,2] =

Это похоже на работу:

myClass [,] myArray = new myClass[3,2] 
{
    {
        new myClass(1, "string11"),
        new myClass(2, "string12")
    },
    {
        new myClass(1, "string21"),
        new myClass(1, "string22")
    },
    {
        new myClass(1, "string31"),
        new myClass(1, "string32")
    }
};

1 Ответ

0 голосов
/ 29 марта 2019

Короче говоря

  • У вас был неправильный синтаксис для конструктора { вместо (
  • У вас было . вместо , в вашемобъявление массива.
  • У вас нет запятых между элементами массива

Попробуйте вместо этого.

Исправлено

private static void Main()
{

   var myArray = new myClass[3, 2]
                 {
                    {
                       new myClass(1, "string11"),
                       new myClass(2, "string12"),
                    },
                    {
                       new myClass(1, "string21"),
                       new myClass(1, "string22"),
                    },
                    {
                       new myClass(1, "string31"),
                       new myClass(1, "string32"),
                    }
                 };
}

Тогда, вероятно, пришло время взглянуть на следующую документацию

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