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

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
Laser Game Ostrava

C# - 5.lekce

Google       Google       31. 8. 2005       68 590×

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 Startup DoDo zajistí městskou logistiku pro RunCzech

Startup DoDo zajistí městskou logistiku pro RunCzech

Startup DoDo se stává důležitým partnerem RunCzecha na významných běžeckých závodech včetně 25. ročníku Volkswagen Maratonu Praha se bude starat o logistické zázemí. Lídr v oblasti městské logistiky bude mimo jiné zásobovat občerstvovací stanice a pomůže rovněž se zajištěním televizních přenosů ze závodů.

Reklama
Reklama
Obrázek ke článku Možnosti současného tisku: kloubní protéza, gigantický billboard i fotoobklady

Možnosti současného tisku: kloubní protéza, gigantický billboard i fotoobklady

Moderní technologie tvoří svět kolem nás. Raketový vývoj zaznamenává oblast informačních technologií ruku v ruce s odvětvím zaměřeným na tisk. Nové postupy a přístroje v tiskařské oblasti nacházejí uplatnění v mnoha směrech. Od zdravotnictví a průmyslu, zejména díky 3D tiskárnám, přes reklamu až po přenášení motivů na obklady užívané jako moderní prvek v interiérech. Současnost zkrátka přináší nespočet druhů tisku, protože díky nynějším přístrojům lze vytisknout v podstatě cokoliv. Jaké nejzajímavější možnosti jsou k mání?

Obrázek ke článku Nezávislý bezpečnostní audit varuje: Lidé ukládají na Ulož.to firemní hesla, smlouvy i rodná čísla

Nezávislý bezpečnostní audit varuje: Lidé ukládají na Ulož.to firemní hesla, smlouvy i rodná čísla

Veřejná online úložiště jsou pro firmy zásadním bezpečnostním rizikem úniku a ztráty citlivých firemních dokumentů i osobních údajů. Zjištění vychází z výsledků bezpečnostní analýzy souborů na Ulož.to, kterou provedli odborníci na kyberbezpečnost ze SODAT. Analýza odhalila stovky firemních přístupových hesel, rodných čísel i pracovních smluv. Ty nahrávají na veřejná úložiště nejčastěji sami zaměstnanci v rámci zálohování nebo sdílení souborů. 

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