C# - 5.lekce
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

C# - 5.lekceC# - 5.lekce

 
Hledat
Moderní platforma pro vytvoření vašeho nového webu – Wix.com.
Nyní už můžete mít web zdarma.
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno

C# - 5.lekce

Google       Google       31. 8. 2005       68 482×

Podíváte se na jednotlivé druhy polí a na to, jak je obsloužit. Rozdělíme je na tři základní typy a to na pole jednorozměrné, pole pravoúhlé a pole zubaté...

Reklama
Reklama

Jednoduché jednorozměrné pole

Při deklaraci nejprve určíme datový typ, kterého pole může nabývat, a zadruhé velikost prvního rozměru. Jednorozměrné pole má jen jeden rozměr, tedy jednu řadu prvků. Pole se deklarují za pomoci hranatých závorek, příklad:


int[] i = new int[100];

Tímto řádkem deklarujeme jednorozměrné pole se jménem i a velikostí 100 prvků. Je to prostor na 100 celočíselných hodnot (typ int), indexovaných od i[0] do i[99].

Ukázka prostého naplnění jednotlivých položek pole:


int[] i = new int[2];
i[0] = 1;
i[1] = 2;

Takto naplníme pole hned při deklaraci:


  

int[] i = new int[] {1,2};

kratší verze předchozí ukázky:


int[] i = {1,2};

Měli bychom pamatovat na fakt, že pole je v C# vždy indexováno od nuly, lze to sice změnit, ale nedoporučuje se to.

Délku pole (počet prvků, které obsahuje) je možné získat pomocí vlastnosti Lenght, kterou lze pouze číst. Délku pole uvedeného výše zjistíte takto: i.Length a dostanete hodnotu 2.

Pravoúhlá pole

C# podporuje 2 typy vícerozměrných polí: pravoúhlé a zubaté. Pravoúhlé pole je pole o více dimenzích, jejichž rozměry se po deklaraci nemění. Vytvoření pole o 2 řadách a 3 sloupcích:


int[,] squareArray = new int[2,3];

totéž, jen to naplníme hned v deklaraci:


  

int[,] squareArray = {{1, 2, 3}, {4, 5, 6}};

Třída System.Array zahrnuje metody pro odvození hranic pole. Pro horní hranici GetUpperBound(int i) a pro dolní GetLowerBound(int i), které vrací rozměry zadané dimenze.

Pro druhý rozměr pole o třech sloupcích, užijeme výrazy:


squareArray.GetLowerBound(1)

vrátí 0, a


squareArray.GetUpperBound(1)

vrátí 2.

Opět je možné použít metodu GetLength(int i), (pořád indexujete od 0)

Ukázka výpisu hodnot jednotlivých prvků pole:


for(int i = 0; i < squareArray.GetLength(0); i++)
  for (int j = 0; j < squareArray.GetLength(1); j++)
    Console.WriteLine(squareArray[i,j]);

Smyčka foreach lze také použít, ale nemáte takový přehled o tom, co bylo vybráno.

Zubaté pole

Je to vícerozměrné pole s nepravidelnými rozměry dimenzí. To je možné díky tomu, že tyto pole se deklarují jako pole polí. Nyní ukázka, jak jedna dimenze může mít 4 prvky a druhá 6:


int[][] jag = new int[2][];
jag[0] = new int [4];
jag[1] = new int [6];

Tento zápis vám odhalil, že jednotlivé dimenze odkazují na jednorozměrné celočíselné pole pole jag.

A zase naplnění již při deklaraci:


int[][] jag = new int[][] {new int[] {1, 2, 3, 4}, new int[] {5, 6, 7, 8, 9, 10}};

Při použití metod jako GetLowerBound, GetUpperBound, GetLength atd. buďme opatrní. Protože jsou postaveny na základě jednorozměrných polí a nemohou se chovat podobně jako pravoúhlá. Pozorně si projděte ukázku kódu!

Výpis obsahu jednotlivých prvků zubatého pole:


for (int i = 0; i < jag.GetLength(0); i++)
  for (int j = 0; j < jag[i].GetLength(0); j++)
    Console.WriteLine(jag[i][j]);

nebo


for (int i = 0; i < jag.Length; i++)
  for (int j = 0; j < jag[i].Length; j++)
    Console.WriteLine(jag[i][j]);

Jo abych nezapoměl, protože se mi pořád motá 1. osoba množného čísla s druhou, tak jsem se rozhodl dále články psát první osobou množného čísla, prý je to i přívětivější přístup :). A když mi občas něco ulítne, tak se omlouvám.

Zdroj: http://www.softsteel.co.uk/tutorials/cSharp/lesson6.html

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
Autor programuje v C#.

Nové články

Obrázek ke článku Průmyslové firmy chtějí zkrátit proces přijímání lidí ze zemí mimo EU. Inspiraci vidí v Polsku.

Průmyslové firmy chtějí zkrátit proces přijímání lidí ze zemí mimo EU. Inspiraci vidí v Polsku.

Pokud chtějí průmyslové firmy v Česku obsadit volné místo uchazečem ze země mimo Evropskou unii, znamená to pro ně i půlroční čekání. Výrazně to přitom pociťuji i na vynaložených nákladech. Svaz průmyslu a dopravy chce proto zkrátit měsíční lhůtu vyvěšení volné pozice na Úřadu práce. Průmyslové firmy a personalisté by však volili komplexnější zjednodušení, o pracovní povolení by měli žádat přímo zaměstnavatelé. Jako vzor uvádějí dlouhodobě fungující systém v Polsku či Maďarsku.

Reklama
Reklama
Obrázek ke článku Pět mýtů spojených s tvorbou e-shopů

Pět mýtů spojených s tvorbou e-shopů

Chuť Čechů nakupovat online stále roste a internetovým obchodům se v Česku daří. I proto o vlastním e-shopu přemýšlí i podnikatelé, kteří si dosud vystačili s kamennou prodejnou nebo profilem na sociální síti či prodejním portálu. Kolem samotné tvorby webu však stále panuje řada mýtů, které mnohdy od založení e-shopu zbytečně odrazují

Obrázek ke článku Konference: Cloud computing rychle mění firemní IT

Konference: Cloud computing rychle mění firemní IT

Cloud computing se během několika posledních let stal samozřejmostí a jeho využití stále roste. Drtivá většina velkých firem již disponuje multicloudovou strategií, v průměru používají více než 3 cloudy současně a s dalšími experimentují. Co přesně cloud firmám přináší? Na jaké problémy lze při jeho využívání narazit? I na tato témata se zaměřuje konference Cloud computing v praxi, která se koná 21. 3. 2019 v pražském Kongresovém centru Vavruška na Karlově náměstí 5.

Obrázek ke článku Soutěž Startupper roku zná finalisty. Odborná porota bude nyní vybírat mezi 14 nejlepšími projekty

Soutěž Startupper roku zná finalisty. Odborná porota bude nyní vybírat mezi 14 nejlepšími projekty

Letos v České republice poprvé probíhá soutěž Startupper roku, kterou pořádá společnost Total v rámci celosvětového projektu „Startupper of the Year by Total“. Soutěž je určena všem českým podnikatelům a podnikatelkám mladším 35 let, kteří během uplynulých dvou let vytvořili projekt nebo start-up s dopadem na sociální sféru a komunitu. Projekt musí obsahovat praktický způsob řešení záležitostí v oblasti zdravotnictví, bezpečnosti, vzdělávání, přístupnosti a dalších oblastí, které ovlivňují místní komunity. 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032019 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý