NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Vypsání jmen souborů do txt 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
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Jan Vargovský
Kit:22.7.2013 0:20

Databázi většinou stačí COMMIT, ale pokud je nastavený AUTOCOMMIT (default v MySQL) tak se nemusíš starat ani o to.

Pokud using občas soubor nezavře, je to bug.

Odpovědět
22.7.2013 0:20
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Michal Žůrek - misaz:22.7.2013 6:54

Jan Vargovský a Kit: Close volat nemusíš, ale riskuješ vyplýtvání paměti a dřív nebo později ti aplikace spadne. Lepší je zápis uzavřít do bloku Using, kde k tomu nedojde.

 
Odpovědět
22.7.2013 6:54
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Kit:22.7.2013 7:45

Bavíme se o tom, že Jan Vargovský má uvnitř using(sw...) i metodu sw.Close(), která je podle mne zbytečná. Jan Vargovský však má nepříjemnou zkušenost v tom, že když ji tam nedá, tak mu to občas vyhazuje chyby. I když using použije.

Odpovědět
22.7.2013 7:45
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Michal Žůrek - misaz:22.7.2013 8:16

samozřejmě že je tam zbytečná, jen si musí uvědomit, že paměť se uvolní až po dokončení celého usingu takže uvedeu příklad. Potřebuje projít 2 000 000 souborů. Máme na výběr dvě možnosti:
a.)

using (...)
{
    for (int i = 0; i < 2000000; i++)
    {

    }
}

b.)

for (int i = 0; i < 2000000; i++)
{
    using (...)
    {

    }
}

u a. hned dojde paměť, protože ona se uvolní až se projede všech 2 000 000 souborů, což je pozdě, zatímco u b se bude paměť čistit postupně, tedy paměť bude vždy v pořádku. To je asi jediná chyba, kterou lze udělat u používání using.

Editováno 22.7.2013 8:16
 
Odpovědět
22.7.2013 8:16
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Kit:22.7.2013 8:23

Vypadá to, že jsi ten jeho program vůbec neviděl.

Odpovědět
22.7.2013 8:23
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Michal Žůrek - misaz:22.7.2013 8:33

To byl jen příklad, kde může vzniknout chyba.

 
Odpovědět
22.7.2013 8:33
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Kit:22.7.2013 8:37

Tímhle způsobem chyba vzniknout nemůže, pokud soubory neotevíráš mimo parametry using, což by bylo v rozporu s pravidly.

Odpovědět
22.7.2013 8:37
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
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 7 zpráv z 17.