Я хотел бы создать класс под названием A
, который при создании экземпляра даст мне 2D
или 3D
массив ints
. Если я позвоню A(2)
, я должен получить объект Arr[10,10]
, а когда я позвоню A(3)
, я должен получить Arr[10,10,10]
. Мне все равно, что это за элементы.Конструктор 2D/3D-массива
Когда я попытался это:
class A
{
public object Arr;
public A(int dim)
{
switch (dim)
{
case 2:
object Arr = new int[10, 10];
break;
case 3:
object Arr = new int[10, 10, 10];
break;
default:
object Arr = null;
break;
}
}
}
Я получил это:
CS0128 локальная переменная с именем 'Arr' уже определено в этой области.
Когда я попытался это:
class A
{
public object Arr;
public A(2)
{
object Arr = new int[10, 10];
}
public A(3)
{
object Arr = new int[10, 10, 10];
}
}
Я получил это:
CS1001 Ожидается идентификатор
теперь я не хватает идей.
Могу ли я вообще это сделать?
Второй один терпит неудачу, потому конструктора подписи ожидает тип и имя для параметров. – juharr
благодарит @juharr, добавляет разъяснение. –