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 – 9. diel - Pole 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
Radek Veverka
Tvůrce
Avatar
Odpovedá 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
Odpovedá 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
Odpovedá 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
Odpovedá 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
Odpovedá 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();
Odpovedať
Od Leta 2018 Vediem osobný, finačný, odborný, knižný a herný Know-How Rast a Sebarozvoj
Avatar
Alesh
Tvůrce
Avatar
Odpovedá 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
Odpovedá 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

Odpovedať
Od Leta 2018 Vediem osobný, finačný, odborný, knižný a herný Know-How Rast a Sebarozvoj
Avatar
Alesh
Tvůrce
Avatar
Odpovedá 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();
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 231.