Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 4. diel - Viacrozmerné polia v C# .NET

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
gcx11
Tvůrce
Avatar
Odpovedá na ZdenekS
gcx11:13.10.2017 17:22

Ahoj, myslím že:

List<int> MujList = new List<int>() { 1, 1, 1 };
Avatar
ZdenekS
Člen
Avatar
ZdenekS:13.10.2017 20:37

Toto jsem neměl na mysli, v tvém případě kompilátor převede hodnoty na metodu Add. viz přiložený obrázek . Co bych rád věděl jak deklarovat pomocí "List" a následně přidat hodnoty, vytvořit toto pole o třech elementech a např. přidat čtyři řady , - (1,2,3),(4,5,­6),(7,8,9),(7,5,3). Ale nepoužít for ani foreach , použít Add, anebo něco v tomto smyslu

e1 e2 e3
1 2 3
4 5 6
7 8 9
7 5 3

děkuju

Avatar
ZdenekS
Člen
Avatar
ZdenekS:13.10.2017 20:45

asi nějak takto, ale nemohu to ani vyguglit

List<int>[] MujList = new List<int>()[];

Avatar
gcx11
Tvůrce
Avatar
Odpovedá na ZdenekS
gcx11:13.10.2017 22:57

V tom případě myslíš toto:

List<int[]> list = new List<int[]>();

A poté:

list.Add(new int[3]{1, 1, 1});

Ale pokud víš, že tam budeš dávat pouze trojice, tak bych doporučil použít Tuple:

List<Tuple<int, int, int>> triples = new List<Tuple<int, int, int>>();

přidávání:

triples.Add(new Tuple<int,int,int>(1, 1, 1));
Avatar
ZdenekS
Člen
Avatar
Odpovedá na gcx11
ZdenekS:14.10.2017 18:02

Skvělý , děkuji moc, to jsem hledal

Avatar
Petr Zajac
Člen
Avatar
Petr Zajac:28.2.2018 17:48

Tak zatím jsem se s 1D polem dokázak poprat, u 2D pole se mi teď po přečtení pletou řádky a sloupečky, od 3D pole dál už jsem ztracený.
Vysvětlí mi někdo zkušený opravdu "PRAKTICKÉ" využití pole? Pokud zvládnu OOP a WPF není jednodušší se na pole "vykašlat" a dávat si to co zadal uživatel buď rovnou do souboru, nebo pokročit ještě dál a zkrotit "zaklady databází" a ukládat to rozumně tam??? :-O

Avatar
huty
Člen
Avatar
Odpovedá na Petr Zajac
huty:28.2.2018 22:50

Pokud chceš reálná data aplikací nějak uchovávat, na pole se vykašli. S polem uchováš data pouze v ram, čili po vypnutí programu o data přijdeš. Pole můžeš použít například pokud programuješ hru, tak si aktuální část mapy načteš do paměti, do pole. Je to jasnější? :-)

Odpovedať
obecně je lepší používat více proměnných a dodržovat přehlednost, než psát co nejkratší kód a po měsíci zapomenout, j...
Avatar
pocitac770
Tvůrce
Avatar
Odpovedá na Petr Zajac
pocitac770:28.2.2018 22:51

Pole je práce s daty za běhu počítače, pokud počítači aspoň trochu rozumíš, tak víš, že čtení/zápis do RAM paměti je rychlejší, než z/na pevný disk. Praktické využití pole? Cokoliv, kde máš větší počet "něčeho", nějakých dat (myšleno více jak 1) stejného druhu, který chceš mít nějak srovnaný, přehledně uložený za chodu programu, příklady najdeš úplně všude, a naopak nevím, co by jsi při programování bez pole dělal... To, jestli není lepší místo pole používat soubor, či databázi je jako se ptát jestli v následujícím kódu

int i = int.Parse(Console.ReadLine());
Console.Writeline(i + 3);

Nebylo lepší ukládat i na servery Googlu, kde bude i dobře zálohované a chráněné proti hackerům.

Avatar
Petr Zajac
Člen
Avatar
Odpovedá na pocitac770
Petr Zajac:1.3.2018 10:44

Počítač jsem i programoval (databáze pod DOS, konkrétně FoxPro), kde netuším jestli se pole dali využívat. Tam jsem na každý údaj měl extra proměnou, kterou jsem po potvrzení formuláře uživatelem dával na disk, takže pole neznám a přijdou mi zatím "cizí".

Avatar
Dušan Kovářík:9.6.2018 0:10

Super článek - konečně mi vnesl pochopení do takových věcí, jako např. proč se někdy používá jeden indexer s více indexy a někdy zase více indexerů s jedním indexem. Chvíli jsem musel přemýšlet a také si hrát s kódem, než jsem si potvrdil vlastní hypotézu, že je vlastně jedno, kterou dimenzi si představuji jako řádky a kterou jako sloupce a podobně. Pokud si to budu představovat opačně a v cyklech použité metody GetLength pro odpovídající dimenze správně sladím s pořadím indexů v indexeru, tak vše bude fungovat stejně.

Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 34.