NOVINKA: Začni v IT jako webmaster s komplexním akreditovaným online kurzem Tvůrce WWW stránek. Zjisti více:
NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Diskuze – Lekce 9 - Pole v C# .NET

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Nejnovější komentáře jsou na konci poslední stránky.
Avatar
Radek Veverka
Tvůrce
Avatar
Odpovídá na Betticek
Radek Veverka:24.4.2021 14:11

Ahoj, v článku to není vysvětleno zřejme proto, aby to nemátlo začátečníky. Datový typ pole ve skutečnosti neobsahuje metody jako Sum(), Average(), Distinct() apod, jak je v článku uvedeno v sekci "Metody na poli" (z uvedených obsahuje pouze vlastnost Length). Jsou to takzvané extension metody. To jsou ve skutečnosti statické metody, vázané na konkrétní datový typ a tváří se jako instanční, můžeš je tedy volat přímo na poli. Jenže abys to mohl provést, musíš pomocí using vložit potřebný balíček, který tyto metody obsahuje, v tomto případě System.Linq. Linq tyto metody nabízí nejen polím, ale i dalším kolekcím. Pomocí linq metod tak můžeš pracovat se všemi kolekcemi stejně, aniž bys musel řešit jejich skutečný typ (zdali je to pole, list, linked list atd...)
Snad je to aspoň trochu srozumitelné.

Avatar
Radek Veverka
Tvůrce
Avatar
Odpovídá na Betticek
Radek Veverka:24.4.2021 14:13

Jinak k tomu kdy použít Linq: Vždy, když pracuješ s poli a dalšími kolekcemi. Získáš metody které usnadní spoustu práce :)

Avatar
Betticek
Člen
Avatar
Odpovídá na Radek Veverka
Betticek:25.4.2021 18:23

Moc děkuji za vysvětlení, už je mi to jasné :)

Avatar
Miroslav Melzer:12.6.2021 16:30

Potřeboval bych vysvětlit proč se v tom proměnná délka pole objevuje to cisla[i] = atd.
Co přesně to znamená to cisla[i].

Avatar
Alesh
Tvůrce
Avatar
Odpovídá na Miroslav Melzer
Alesh:12.6.2021 21:16
cisla[i] = int.Parse(Console.ReadLine());

To nesouvisí s proměnnou délkou pole ale s for cyklem. Jím procházíš to pole (řídicí proměnná je právě to "i") a na i-tou pozici přiřazuješ vstup z konzole.

Avatar
Odpovídá na Alesh
Miroslav Melzer:12.6.2021 22:17

Aha, ok děkuju.

Avatar
Dušan Fajnor:11.8.2021 18:38

Uvítal by Som bližie komentáre // k jednotlivým krokom v kóde, dosť, niektoré veci (ne)chápem, aj keď Som si lekciu trikrát prebehol.

Console.WriteLine("Ahoj, spočítám ti průměr známek. Kolik známek zadáš?");
int pocet = int.Parse(Console.ReadLine());
int[] cisla = new int[pocet]; //uvítal by som tu komentár, prečo takto
for (int i = 0; i < pocet; i++) //uvítal by som tu komentár, prečo takto
{
    Console.Write("Zadejte {0}. číslo: ", i + 1); //uvítal by som tu komentár, prečo takto
    cisla[i] = int.Parse(Console.ReadLine()); //uvítal by som tu komentár, prečo takto
}
Console.WriteLine("Průměr tvých známek je: {0}", cisla.Average()); //uvítal by som tu komentár, prečo takto
Console.ReadKey();
Odpovědět
Od Leta 2018 Vediem osobný, finačný, odborný, knižný a herný Know-How Rast a Sebarozvoj
Avatar
Alesh
Tvůrce
Avatar
Odpovídá na Dušan Fajnor
Alesh:11.8.2021 23:02

Myslím, že vše použité v citovaném kódu, je v lekcích vysvětlené a žádné velké složitosti v tom nejsou. Pokud ti přeci jen něco není jasné, dej konkrétní dotaz a někdo ti to určitě zkusí vysvětlit. ;-) Komentovat prakticky každý řádek kódu podle mě nemá smysl.
Pokud vezmi tvé komentáře/dotazy popořadě:

  1. deklarace a vytvoření pole vysvětleno v této lekci
  2. for cyklus vysvětlen v 7. lekci
  3. viz metoda Format na konci 4. lekce
  4. viz parsování ve 3. lekci
  5. viz metody pole v této lekci
Avatar
Odpovídá na Alesh
Dušan Fajnor:11.8.2021 23:40

Skorej Som mal na mysli taký postup myslenia ako vytváraš tie kódy pre jednotlivé riadky, bo si ich musím vytvoriť sám.

Dík za reakciu, dáko sa tým prekusnem.
S pozdravom:
Dušan

Odpovědět
Od Leta 2018 Vediem osobný, finačný, odborný, knižný a herný Know-How Rast a Sebarozvoj
Avatar
Alesh
Tvůrce
Avatar
Odpovídá na Dušan Fajnor
Alesh:12.8.2021 0:17

No, tak takto bych to okomentoval. Dle zadání se má vytvořit konzolová aplikace pro výpočet průměru známek, kde počet známek zadává uživatel jako první vstup.

Console.WriteLine("Ahoj, spočítám ti průměr známek. Kolik známek zadáš?");
int pocet = int.Parse(Console.ReadLine());
int[] cisla = new int[pocet]; // založení pole o velikosti počtu zadaných známek
for (int i = 0; i < pocet; i++) // cyklus přes všechny prvky pole známek, naplnění pole jednotlivými známkami
{
    Console.Write("Zadejte {0}. číslo: ", i + 1); // výzva uživateli k zadání 1. až n-té známky (proměnná i běží od 0 do n-1, proto v té výzvě vypisujeme i+1, což je lidsky srozumitelnější, než to programátorské číslování od 0)
    cisla[i] = int.Parse(Console.ReadLine()); // uložení naparsovaného čísla na příslušnou pozici v poli
}
Console.WriteLine("Průměr tvých známek je: {0}", cisla.Average()); // výpis výstupu s výpočtem průměru
Console.ReadKey();
Nejnovější komentáře jsou na konci poslední stránky.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 231.