Diskuze: Přidání více položek do Listu metodou
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 11 zpráv z 11.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Můžeš mít parametr metody jako pole, poté to pole proiterovat a naházet to do listu nebo použít klíčové slovo params, to ti dovolí vložit neomezený počet hodnot, ovšem params už patří možná trochu do pokoročilích věcí. Na druhou stranu nic těžkého to není. Koukni se sem http://www.itnetwork.cz/…y-podrobneji
Metoda přidej v knihovně by měla brát parametr typu Kniha. Ona by vůbec
měla něco brát, když něco přidává
Zavolat si ji potom můžeš
několikrát a předat ji různé knihy, které do knihovny přidá.
Dobrá, takže v Program.cs vytvořím knihy, ty pak volat v metodě např. vedecka.Pridej(kniha1) ?
Takhle to myslíš ?
Ano, přesně tak
Obvykle
se to u tříd, co v sobě mají nějakou kolekci (např. list) takhle dělá,
že se připraví metoda, co bere v parametru prvek a ten vkládá do toho
vnitřního listu.
Kdybys chtěl doslova, aby ta metoda knih přidala více najednou, musela by brát místo jedné knihy pole knih nebo třeba list knih.
Můžeš si to pak také cvičně zkusit, udělat kromě Pridej také PridejVice.
Teď koukám že tu metodu máš úplně špatně. Tato metoda ti přidá
vždy tu samou a jednu knihu. Navíc je potřeba, aby ti metoda vracela knihu ,
kterou jsi tam právě poslal ? Myslím že ne
.
Přečti si několik prvních článků o OOP a měl by jsi to pochopit.
Každopádně, každá metoda může a většinou by měla přijímat určité
parametry. Zde je příklad pro metodu která ti sečte dvě čísla a vrátí
ti výsledek. Parametry máme dva, int cislo1 a int cislo2. Návratová hodnota
metody je int
public int Secti(int cislo1, int cislo2)
{
int vysledek=cislo1+cislo2;
return vysledek;
}
Zatím ti ukážu jak přidat jednu knihu. Když to pochopíš, už víš jak přidat více knih. Tedy pošleš pole knih a proiteruješ je cyklem.
public void PridatKnihu(Kniha novaKniha)
{
Seznam.Add(novaKniha);
}
Bylo by dobré aby metoda měla ošetřeno zda kniha už není přidaná
public bool PridatKnihu(Kniha novaKniha)
{
if(!Seznam.Contains(novaKniha)
{
Seznam.Add(novaKniha);
return true;
}
else return false;
}
Nyní ti metoda vrací bool, aby jsi jednoduše zjistil zda se byla kniha
přidána nebo ne. Jak jsem řekl na začátku, pročti si seriál o OOP ne
celý, ale kus, udělej několik prográmků a až to pochopíš jdi dál 
//EDIT
sdraco byl rychlejší
zde
máš takový ucelený příklad
Nebo-li mohu to vyřešit i tak že napíšu do třídy Knihovna.cs
public Kniha Pridej()
{
Seznam.Add(kniha1);
return kniha1;
}
a knihy si vytvořím v Program.cs kde jim přidám parametry a následně je
budu volat např.
vedecka.Pridej(kniha1);
vedecka.Pridej(kniha2);
.... atd ?
Ne. Ta metoda musí mít vstupní parametr. Takto ti i ten program spadne. Za
druhé, k čemu vracet knihu kterou jsi právě přidal. Máš v tom úplný
guláš, šup, jdi si přečíst první články
. Podívej se potom na můj
příspěvek o řádky výš 
Zobrazeno 11 zpráv z 11.