Inicijalizacija višedimenzionalnih nizova u c # (s drugim nizovima)

U C # je moguće inicijalizirati višedimenzionalni niz pomoću konstanti poput ove:

Object[,] twodArray = new Object[,] { {"00", "01", "02"}, 
                                      {"10", "11", "12"},
                                      {"20", "21", "22"} };

Lično mislim da je inicijalizacija niza s tvrdo kodiranim konstantama na neki način beskorisna za bilo što drugo osim za test vježbe. očajnički treba učiniti, inicijalizirati novi višedimenzionalni niz kao gore, koristeći postojeće nizove (koji imaju isti broj predmeta, ali sadržaj se naravno definira samo u vrijeme izvođenja).

Uzorak onoga što bih želio učiniti je.

Object[] first  = new Object[] {"00", "01", "02"};
Object[] second = new Object[] {"10", "11", "12"};
Object[] third  = new Object[] {"20", "21", "22"};
Object[,] twodArray = new Object[,] { first, second, third };

Nažalost, ovo ne kompajlira kao važeći kod. Smiješno, kad sam pokušao

Object[,] twodArray = new Object[,] { {first}, {second}, {third} };

Kôd je kompajlirao i pokrenuo, međutim rezultat nije bio po želji - niz objekata 3 sa 3, izašao je niz 3 sa 1, od kojih je svaki imao 3 elementa. Kada se to dogodi, ne mogu pristupiti svom nizu koristeći:

Object val = twodArray[3,3];

Moram ići:

Object val = twodArray[3,1][3];

Što očito nije željeni rezultat.

Dakle, postoji li način da se ovaj novi 2D niz inicijalizira iz više postojeći nizovi bez pribjegavanja iteraciji?

11
задан Cœur 29 July 2017 в 08:45
поделиться