multidimensional arrays
Tento výukový program vysvětluje vše o vícerozměrných polích a zubatých polích v C # s příklady. Vícerozměrná pole jsou také známá jako obdélníková pole:
Prozkoumali jsme vše o polích a jednorozměrných polích v našem předchozím kurzu.
V tomto kurzu se podrobně seznámíme s vícerozměrnými poli a zubatými poli v C # spolu s příklady.
=> Prozkoumejte naše hloubkové C # výukové kurzy zde
Co se naučíte:
C # vícerozměrná pole
Vícedimenzionální pole jsou také známá jako obdélníková pole. Vícedimenzionální pole lze dále rozdělit na dvourozměrná pole.
Na rozdíl od jednorozměrných polí, kde jsou data uložena liniovým sekvenčním způsobem, vícerozměrné pole ukládá data v tabulkovém formátu, tj. Ve formě řádků a sloupců. Toto tabulkové uspořádání dat je také známé jako matice.
2-dimenzionální pole
Nejjednodušší formou vícerozměrného pole je dvourozměrné pole. Dvojrozměrné pole lze vytvořit stohováním několika jednorozměrných polí dohromady. Následující obrázek pomůže lépe porozumět konceptu.
Výše uvedený obrázek je grafickým znázorněním toho, jak 2-dimenzionální pole vypadá. Označuje se tím, že má řádek a sloupec. Proto bude každý stavební blok dvourozměrného pole tvořen indexem představujícím číslo řádku a číslo sloupce.
Vícerozměrná pole jsou deklarována jako jednorozměrné pole, přičemž jediným rozdílem je zahrnutí čárky do hranaté závorky, která představuje řádky, sloupce atd.
string( , ) strArray = new string(2,2);
Nyní se podívejme na příklad inicializace dvourozměrného pole.
2-D pole je deklarováno
string ( , ) fruitArray = new string (2,2) { {“apple” , “mango”} , /* values for row indexed by 0 */ {“orange”, “banana”} , /* values for row indexed by 1 */ };
Například, řekněme, že pokud má můj prvek pole řádek „i“ a sloupec „j“, můžeme k němu přistupovat pomocí následujícího indexového pole (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ýstupem následujícího programu bude:
fruitArray (0,0) = jablko
fruitArray (0,1) = mango
fruitArray (1.0) = oranžová
fruitArray (1,1) = banán
Vysvětlení:
První částí programu je deklarace pole. Deklarovali jsme pole typu řetězce o velikosti řádku 2 a velikosti sloupce 2. V další části jsme se pokusili o přístup k poli pomocí smyčky for.
Pro přístup k hodnotám jsme použili smyčku nested for. Vnější smyčka for poskytuje číslo řádku, tj. Bude začínat řádkem „nula“ a poté postupovat vpřed. Vnitřní smyčka for definuje číslo sloupce. S každým číslem řádku předaným první smyčkou for přiřadí druhá smyčka for číslo sloupce a přistupuje k datům z buňky.
Jagged Arrays In C #
Dalším typem pole, které je k dispozici v C #, je Jagged Array. Zubaté pole lze definovat jako pole skládající se z polí. Zubatá pole se používají k ukládání polí místo jiných datových typů.
Zubaté pole lze inicializovat pomocí dvou hranatých závorek, kde první hranatá závorka označuje velikost pole, které je definováno, a druhá závorka označuje rozměr pole, které bude uloženo uvnitř zubatého pole.
Prohlášení o zubatém poli
Jak již bylo řečeno, zubaté pole lze inicializovat následující syntaxí:
string( )( ) stringArr = new string(2)( );
Zubaté pole může ukládat více polí různých délek. Můžeme deklarovat pole délky 2 a další pole délky 5 a obě lze uložit do stejného zubatého pole.
Plnicí prvek uvnitř zubatého pole
Pojďme nejprve inicializovat zubaté pole.
arrayJag(0) = new string (2) ; arrayJag(1) = new string (3) ;
Ve výše uvedeném příkladu jsme inicializovali zubaté pole řetězcového typu s indexem „0“ a „1“ obsahující pole velikosti definované uvnitř hranaté závorky. 0. index obsahuje pole typu řetězce délky 2 a index „1“ obsahuje pole typu řetězce délky 3.
Takto jsme inicializovali pole. Pojďme nyní inicializovat a vložit hodnoty do zubatého pole.
arrayJag(0) = new string (2) {“apple”, “mango”}; arrayJag(1) = new string (3) {“orange”, “banana”, “guava”};
Proto, jak je znázorněno ve výše uvedeném příkladu, lze zubaté pole deklarovat také pomocí hodnot. Chcete-li přidat hodnoty, umístíme složenou závorku za deklarované zubaté pole se seznamem hodnot.
Je také možné inicializovat zubaté pole při jeho deklaraci.
Toho lze dosáhnout pomocí následujícího přístupu.
string()() jaggedArray = new string (2)() { new string() {“apple”, “mango”}, new string() {“orange”, “banana”, “guava”} };
Ve výše uvedeném příkladu jsme definovali pole Jagged s názvem „jaggedArray“ s velikostí 2 a poté uvnitř složené závorky jsme definovali a deklarovali jeho základní pole.
Načíst data ze zubatého pole
Až dosud jsme se naučili vkládat data do pole Jagged. Nyní probereme metodu načítání dat z pole Jagged. Použijeme stejný příklad, o kterém jsme hovořili dříve, a pokusíme se načíst všechna data z tohoto pole.
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ýstupem následujícího programu bude:
jablko mango
oranžový banán guava
Vysvětlení:
dimenzionální modelování v datovém skladu s příkladem
Použili jsme dvě smyčky pro příčné procházení prvky. První smyčka for definovala index pro pole Jagged. K průchodu polem přítomným v daném zubatém indexu pole byla použita další smyčka vnořená pro, poté jsme výsledek vytiskli na konzolu.
Body k zapamatování:
- Zubaté pole je pole polí. tj. ukládá pole jako své hodnoty.
- Zubaté pole vyhodí z rozsahu výjimku, pokud zadaný index neexistuje.
Závěr
V tomto kurzu jsme se dozvěděli o Jagged a Multidimensional arrays v C #. Naučili jsme se, jak deklarovat a inicializovat dvourozměrné pole. Také jsme vytvořili jednoduchý program pro načtení dat z dvojrozměrného pole.
Poté jsme podrobně diskutovali o Jaggedově poli, což je pole polí.
Jagged pole je samo o sobě jedinečné, protože ukládá pole jako hodnoty. Zubatá pole jsou velmi podobná ostatním polím, přičemž jediným rozdílem je typ hodnoty, kterou ukládá.
=> Cvičení C # ZDARMA pro všechny
Doporučené čtení
- Pole v STL
- Pole C #: Jak deklarovat, inicializovat a přistupovat k poli v C #?
- Vícerozměrná pole v C ++
- C ++ pole s příklady
- Používání polí s funkcemi v C ++
- VBScript Arrays: Using DIM, REDIM, Split, and Ubound Array Functions
- Vložte více dokumentů do MongoDB pomocí polí
- Java DataTypes, Loops, Arrays, Switch a Assertions