multidimensional arrays
V tomto výučbe nájdete vysvetlenie všetkých príkladov multidimenzionálnych polí a zubatých polí v jazyku C #. Multidimenzionálne polia sú tiež známe ako obdĺžnikové polia:
Všetko o poliach a jednorozmerných poliach sme preskúmali v našom predchádzajúcom tutoriáli.
V tomto výučbe sa spolu s príkladmi dozvieme viacrozmerné polia a zubaté polia v C #.
=> Preskúmajte naše hĺbkové C # výukové návody tu
Čo sa dozviete:
C # multidimenzionálne polia
Viacrozmerné polia sú tiež známe ako obdĺžnikové polia. Viacrozmerné polia sa dajú ďalej rozdeliť na dvoj alebo trojrozmerné polia.
Na rozdiel od jednorozmerných polí, kde sa údaje ukladajú líniovým spôsobom, viacrozmerné pole ukladá údaje v tabuľkovom formáte, tj vo forme riadkov a stĺpcov. Toto tabuľkové usporiadanie údajov je tiež známe ako matica.
2-dimenzionálne polia
Najjednoduchšou formou multidimenzionálneho poľa je dvojrozmerné pole. Dvojrozmerné pole je možné vytvoriť stohovaním niekoľkých jednorozmerných polí k sebe. Nasledujúci obrázok pomôže lepšie pochopiť pojem.
Vyššie uvedený obrázok je grafickým znázornením toho, ako vyzerá dvojrozmerné pole. Označuje sa to riadkom a stĺpcom. Každý stavebný blok dvojrozmerného poľa bude teda tvorený indexom predstavujúcim číslo riadku a číslo stĺpca.
Viacrozmerné polia sú deklarované ako jednorozmerné pole s jediným rozdielom, ktorý spočíva v zahrnutí čiarky do hranatej zátvorky, ktorá predstavuje riadky, stĺpce atď.
string( , ) strArray = new string(2,2);
Teraz sa pozrime na príklad inicializácie dvojrozmerného poľa.
2-D pole je deklarované
string ( , ) fruitArray = new string (2,2) { {“apple” , “mango”} , /* values for row indexed by 0 */ {“orange”, “banana”} , /* values for row indexed by 1 */ };
Napríklad, povedzme, že ak má môj prvok poľa riadok „i“ a stĺpec „j“, môžeme k nemu získať prístup pomocou nasledujúceho indexového poľa (i, j).
string ( , ) fruitArray = new string (2,2) { {“apple” , “mango”} , /* values for row indexed by 0 */ {“orange”, “banana”} , /* values for row indexed by 1 */ }; /* output for the elements present in array*/ for (int i = 0; i <2; i++) { for (int j = 0; j < 2; j++) { Console.WriteLine('fruitArray({0},{1}) = {2}', i, j, fruitArray(i,j)); } } Console.ReadKey();
Výstupom tohto programu bude:
fruitArray (0,0) = jablko
fruitArray (0,1) = mango
fruitArray (1,0) = oranžová
fruitArray (1,1) = banán
Vysvetlenie:
Prvou časťou programu je deklarácia poľa. Deklarovali sme pole typu reťazca s veľkosťou riadku 2 a veľkosťou stĺpca 2. V ďalšej časti sme sa pokúsili získať prístup k poli pomocou slučky for.
Na prístup k hodnotám sme použili slučku nested for. Vonkajšia slučka for poskytuje číslo riadku, to znamená, že bude začínať riadkom „nula“ a potom bude pokračovať ďalej. Vnútorná slučka for definuje číslo stĺpca. S každým číslom riadku odovzdaným prvým cyklom for, druhému cyklu loop priradí číslo stĺpca a získa prístup k údajom z bunky.
Zubaté polia v C #
Ďalším typom poľa, ktoré je dostupné v C #, je Jagged Array. Členité pole možno definovať ako pole pozostávajúce z polí. Členité polia sa používajú na ukladanie polí namiesto iných dátových typov.
Zubaté pole je možné inicializovať pomocou dvoch hranatých zátvoriek, kde prvá hranatá zátvorka označuje veľkosť poľa, ktoré sa definuje, a druhá zátvorka označuje rozmer poľa, ktoré bude uložené vo vnútri zubatého poľa.
Vyhlásenie o zubatom poli
Ako už bolo spomenuté, zubaté pole je možné inicializovať pomocou nasledujúcej syntaxe:
string( )( ) stringArr = new string(2)( );
Členité pole dokáže uložiť viac polí s rôznymi dĺžkami. Môžeme deklarovať pole s dĺžkou 2 a ďalšie pole s dĺžkou 5 a obe môžeme uložiť do rovnakého zubatého poľa.
Plniaci prvok vo vnútri zubatého poľa
Poďme najskôr inicializovať zubaté pole.
arrayJag(0) = new string (2) ; arrayJag(1) = new string (3) ;
Vo vyššie uvedenom príklade sme inicializovali zubaté pole reťazcového typu s indexom „0“ a „1“, ktoré obsahuje pole veľkosti definované vo štvorcovej zátvorke. 0. index obsahuje pole typu reťazca s dĺžkou 2 a index „1“ obsahuje pole typu reťazca s dĺžkou 3.
Takto sme inicializovali pole. Poďme teraz inicializovať a vložiť hodnoty do zubatého poľa.
arrayJag(0) = new string (2) {“apple”, “mango”}; arrayJag(1) = new string (3) {“orange”, “banana”, “guava”};
Preto, ako je znázornené vo vyššie uvedenom príklade, zubaté pole možno deklarovať aj pomocou hodnôt. Ak chcete pridať hodnoty, za deklarované zubaté pole so zoznamom hodnôt umiestnime zloženú zátvorku.
Je tiež možné inicializovať zubaté pole pri jeho deklarovaní.
To je možné dosiahnuť pomocou nasledujúceho prístupu.
string()() jaggedArray = new string (2)() { new string() {“apple”, “mango”}, new string() {“orange”, “banana”, “guava”} };
Vo vyššie uvedenom príklade sme definovali pole Jagged s názvom „jaggedArray“ s veľkosťou 2 a potom vo vnútri zloženej zátvorky sme definovali a deklarovali jeho základné polia.
Načítanie údajov zo zubatého poľa
Doteraz sme sa dozvedeli o vkladaní údajov do poľa Jagged. Teraz budeme diskutovať o metóde získavania údajov z poľa Jagged. Použijeme ten istý príklad, o ktorom sme už hovorili, a pokúsime sa načítať všetky údaje z tohto poľa.
string()() jaggedArray = new string (2)() { new string() {“apple”, “mango”}, new string() {“orange”, “banana”, “guava”} }; /* retrieve value from each array element */ for (int i = 0; i Výstupom tohto programu bude:
jablkové mango
oranžový banán guava
Vysvetlenie:
aký je najlepší bezplatný blokovač reklám pre Chrome
Použili sme dve slučky na priečny prechod cez prvky. Prvá slučka for definovala index pre pole Jagged. Ďalšia vnorená slučka pre bola použitá na priečne prechod cez pole prítomné v danom indexe zubatého poľa, potom sme výsledok vytlačili na konzolu.
Body na zapamätanie:
- Zubaté pole je pole. tj ukladá polia ako svoje hodnoty.
- Zubaté pole vyhodí z rozsahu výnimku, ak zadaný index neexistuje.
Záver
V tomto tutoriáli sme sa dozvedeli o zubatých a viacrozmerných poliach v C #. Naučili sme sa, ako deklarovať a inicializovať dvojrozmerné pole. Vytvorili sme tiež jednoduchý program na načítanie údajov z dvojrozmerného poľa.
Potom sme podrobne diskutovali o Jaggedovom poli, čo je pole polí.
Pole Jagged je samo o sebe jedinečné, pretože ukladá polia ako hodnoty. Zubaté polia sú dosť podobné iným poliam, rozdiel je len v type hodnoty, ktorú ukladá.
=> Cvičné návody pre C # ZDARMA pre všetkých
Odporúčané čítanie
- Polia v STL
- C # pole: Ako deklarovať, inicializovať a pristupovať k poli v C #?
- Multidimenzionálne polia v C ++
- Polia C ++ s príkladmi
- Používanie polí s funkciami v C ++
- Polia VBScript: Používanie funkcií polí DIM, REDIM, Split a Ubound Array
- Vložte viac dokumentov do MongoDB pomocou polí
- Java dátové typy, slučky, polia, prepínače a tvrdenia