IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – Vypísanie mien súborov do txt 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
Avatar
Bl4ckout
Tvůrce
Avatar
Bl4ckout:21.7.2013 22:44

Sorry,ale moc to nefunguje.Máš tam neošetřenou výjímku.
Zkus:
try
{
}

catch(Exeptions)
{
}

Editované 21.7.2013 22:44
 
Odpovedať
21.7.2013 22:44
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Bl4ckout
Kit:21.7.2013 22:59

Tomu říkáš ošetření výjimky? Fuj!

Odpovedať
21.7.2013 22:59
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovedá na Bl4ckout
Neaktivní uživatel:21.7.2013 23:06

ty zkus použít tlačítko Vložit zdrojový kód

// A myslím si že try a catch zrovna v tomto případě potřeba není :)

Odpovedať
21.7.2013 23:06
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Kit:21.7.2013 23:09

K čemu je tam vlastně sw.Close()?

Před chvílí jsme se tady bavili o tom, jak se bezpečně skládají cesty v C#. Nedalo by se to aplikovat?

Odpovedať
21.7.2013 23:09
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Kit:21.7.2013 23:27

Když tam skládáš cestu pomocí "\\", vytváříš tak program, který je závislý na platformě. Místo

Environment.CurrentDirectory + "\\" + fileName + ".txt"

by spíš mělo být

Path.Combine(Environment.CurrentDirectory, filename + ".txt");

Je to sice o pár znaků delší, ale určitě je to spolehlivější.

Odpovedať
21.7.2013 23:27
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovedá na Kit
Jan Vargovský:21.7.2013 23:28

K uvolnění toho souboru. Občas to buguje i při serializaci/de­serializaci, proto to tam dávám. A teď nevím jestli myslíš, že mám přidávat cestu pomocí Combine(...) místo normalního spojování stringu?

EDIT: jo, zrovna koukám co to umí

string s = Path.Combine(Environment.CurrentDirectory, fileName + i + ".txt");

EDIT2: Jo, takovou poučku už jsem slyšel před pár lety, že i místo "\n" by se mělo používat Environment.NewLine

Editované 21.7.2013 23:30
 
Odpovedať
21.7.2013 23:28
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Jan Vargovský
Kit:21.7.2013 23:40

Tyhle poučky jsou i v Javě a na Linuxu. Vždycky je lepší, když jsou programy nezávislé na platformě.

Někdy to může být i kratší zápis, například v Javě stačí místo \n používat %n v patřičném kontextu a už je to OK. Nehledě k tomu, že metoda println() to řeší automaticky.

Odpovedať
21.7.2013 23:40
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Jan Vargovský
Kit:21.7.2013 23:46

K uvolnění toho souboru: Připadá mi to jako nosit na kalhotách pásek i šle. Pokud to buguje, je to bug v systému, který by se měl nahlásit a opravit.

Aha, já zapomněl, že to není komu nahlásit a že to nemá kdo opravit :)

Odpovedať
21.7.2013 23:46
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovedá na Kit
Jan Vargovský:21.7.2013 23:58

Řekl bych, že když pracuješ s databází tak si jí taky musíš nejdřív otevřít a nakonci zavřít, tady by se to mělo sice starat samo, ale po vlastním přesvědčení to někdy nedělá, dál jsem to nesledoval. Hold platí pravidlo, že každý program má alespoň jednu chybu :)
Každopádně jsem to trošku zlepšil, aby to mělo alespoň minimální úroveň.

 
Odpovedať
21.7.2013 23:58
Avatar
Odpovedá na Jan Vargovský
Luboš Běhounek Satik:22.7.2013 0:02

using vzdy stream i DB zavira, problem musel byt jinde :)

Odpovedať
22.7.2013 0:02
https://www.facebook.com/peasantsandcastles/
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.

Zatiaľ nikto nevložil komentár - buď prvý!