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
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)
{
}

Editováno 21.7.2013 22:44
 
Odpovědět
21.7.2013 22:44
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Bl4ckout
Kit:21.7.2013 22:59

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

Odpovědět
21.7.2013 22:59
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá 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í :)

Odpovědět
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?

Odpovědět
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ší.

Odpovědět
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
Odpovídá 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

Editováno 21.7.2013 23:30
 
Odpovědět
21.7.2013 23:28
Avatar
Kit
Tvůrce
Avatar
Odpovídá 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.

Odpovědět
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
Odpovídá 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 :)

Odpovědět
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
Odpovídá 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ň.

 
Odpovědět
21.7.2013 23:58
Avatar
Odpovídá na Jan Vargovský
Luboš Běhounek Satik:22.7.2013 0:02

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

Odpovědět
22.7.2013 0:02
https://www.facebook.com/peasantsandcastles/
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 17.