ConsoleApplication v C# - dá se změnit barva písma?
Zdravím. Mám menší dotaz - dá se nějak v konzolové aplikaci napsané v C# změnit barva části textu? Pokud ano, poprosím o kód. Díky předem
Zdravím. Mám menší dotaz - dá se nějak v konzolové aplikaci napsané v C# změnit barva části textu? Pokud ano, poprosím o kód. Díky předem
Předmět | Autor | Datum |
---|---|---|
Ať nezakládám nové vlákno:
Když předpokládám jako uživatelem zadaný vstup celé číslo a používám ted… nový Dave 18.04.2009 09:18 |
Dave | |
no aby nespadl tak neošetříš vyjímku přeci
Console.WriteLine("Zadej číslo"); int i; try{ i = Conso… nový programator 18.04.2009 09:29 |
programator | |
Console.Write("Zadej číslo: ");
int c1 = int.Parse(Console.ReadLine());
try
{
c1 = Console.Read();
}… nový Dave 18.04.2009 09:50 |
Dave | |
Spadne to na riadku c1 = int.Parse(Console.ReadLine()), pretože nie je v bloku try..catch. Následné… poslední los 18.04.2009 11:36 |
los |
Zpět do poradny Odpovědět na původní otázku Nahoru
Ať nezakládám nové vlákno:
Když předpokládám jako uživatelem zadaný vstup celé číslo a používám tedy int, jak zaručím, aby program při zadání např. nějakého písmene (vyvolání výjimky) nespadl?
no aby nespadl tak neošetříš vyjímku přeci
je to, to co chceš?
Tak při tomhle to taky spadne Pokud se to podaří vyřešit, ještě bych rád, aby to při zadání písmene vrátilo uživatele zpět na řádek k zadání čísla (mám to jako nový private static void, takže na to stačí odkázat, ale nevím, kam to napsat.
//edit: tak nakonec jsem to vyřešil switch-em. Toto řešení mi v mém případě vyhovuje daleko víc.
Spadne to na riadku c1 = int.Parse(Console.ReadLine()), pretože nie je v bloku try..catch. Následné volanie c1 = Console.Read() nedáva zmysel, pretože vstup si už prečítal a týmto si ho prepíšeš hodnotou ďalšieho zadaného znaku.
Lepšie než ošetrovať výnimku je otestovať vstup, t.j. použiť metódu TryParse namiesto metódy Parse.
Dalo by sa to napísať nejako takto (netestované):