2. díl - Visual Studio a první konzolová aplikace

C# .NET Základní konstrukce Visual Studio a první konzolová aplikace American English version English version

ONEbit hosting Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

V minulé lekci, Úvod do C# a .NET frameworku, jsme si řekli něco o jazyce jako takovém a také jsme pochopili, co je to .NET framework. V dnešním tutoriálu se zaměříme hlavně na IDE Visual Studio, ukážeme si, jak se používá a naprogramujeme si jednoduchou konzolovou aplikaci.

IDE je zkratka Integrated Development Environment (integrované vývojové prostředí) a jednoduše řečeno se jedná o aplikaci, ve které píšeme zdrojový kód a pomocí které potom naši aplikaci testujeme a ladíme.

Začít musíme samozřejmě tím, že si Visual Studio nainstalujeme. Pokud studujete IT školu, je velmi pravděpodobné, že máte přes MSDN přístup k ostré verzi Visual Studio Enterprise zdarma. Pokud ne, nezoufejte, protože Visual Studio (dále jen VS) má edici Community, která je zcela zdarma a to dokonce i pro komerční účely. I ta vám bude dlouho stačit, protože její omezení nejsou nijak velká. Zde máte link ke stažení Visual Studio Community.

Instalace

Pokud máte alespoň elementární znalosti angličtiny, doporučuji VS nainstalovat v tomto jazyce, až budete pokročilí programátoři, ušetří vám to spoustu nepříjemností. Ideálně by se měl psát anglicky i kód, ale pro názornost budu v celém seriálu a i v některých ukázkových programech používat české identifikátory. Je na vás a vašich znalostech angličtiny jak vaše programy budete psát. Výhodou anglického programu je samozřejmě to, že jako velmi pokročilí můžete diskutovat velmi složité problémy na mezinárodních fórech, kde se vyskytují experti na danou oblast. U pokročilých věcí jako jsou databáze nebo web. aplikace je třeba ve VS nastavit mnoho specifických věcí, manuály v češtině nemusíte najít a pak jen přemýšlíte, jaký je asi překlad tohoto checkboxu. Angličtina je v programování standardem. Čeština samozřejmě teď pro začátek není žádný problém a na vaše programy nemá žádný vliv, myslím to spíše do budoucna.

Instalace se vás zeptá na preferovaný jazyk, pochopitelně zvolíte C#, jinak není třeba nic extra nastavovat, stačí "vynextit". Pokud máte VS Express, je třeba ho zaregistrovat, registrace je zdarma a obdržíte poté sériové číslo, které vám umožňuje program zdarma a legálně používat.

Zálohování a verzování

Kromě IDE programátor potřebuje nějaký nástroj, který bude zálohovat a verzovat jeho práci. Nemůžeme se spolehnout na to, že program prostě budeme ukládat, protože jsme lidé a ne stroje. Lidé dělají chyby a když přijdete o několikadenní nebo dokonce několikatýdenní práci, může to zabolet. Je dobré naučit se na toto myslet hned od začátku. Velmi doporučuji program DropBox, který je extrémně jednoduchý a sám vaše soubory verzuje (tedy zachovává změny v čase a je možné se vrátit ke starším verzím projektu) a zároveň synchronizuje s webovým úložištěm, i kdyby jste si projekt omylem smazali, přepsali, ukradli vám notebook nebo vám zkolaboval pevný disk, vaše data zůstanou v bezpečí. DropBox také umožňuje sdílet jeden projekt mezi více vývojáři. Více o DropBoxu viz tento článek, který obsahuje zároveň pozvánku do DropBoxu s 0,5 GB prostoru navíc.

Jako další verzovací nástroj se hojně používá GIT, jeho nastavení by ale vydalo na samostatný článek a DropBox pro naše účely bohatě postačuje.

Vytvoření projektu

Spustíme VS a v aplikačním menu zvolíme položku File -> New -> Project.

Založení nového projektu ve Visual Studio

V okně New project vybereme template Visual C# -> Windows a v nabídce vedle zvolíme Console Application. Jako jméno aplikace zvolíme PrvniAplikace. Target framework nahoře přepneme na .NET Framework 3.5 (to z toho důvodu, aby naše programy bez problému fungovaly na Windows 7 bez nutnosti doinstalování novějšího .NETu, pro Windows 8 použijte .NET 4.5). V Dropboxu si vytvořte nějakou složku na vaše projekty, např. CSharp. U lokace pomocí tlačítka Browse vybereme složku C:\Users\vase_jme­no\Dropbox\Cshar­p. Nějakou dobu zůstaneme u konzolových aplikací (příkazová řádka), protože k jejich obsluze potřebujeme minimální znalosti z objektového světa a jsou tedy ideální k naučení základů jazyka. Okno by mělo vypadat asi takto:

Vytvoření projektu konzolové aplikace v C#

Formulář potvrdíme.

Ovládání Visual Studia

Okno nyní vypadá asi takto, já jsem ho hodně zmenšil, aby se mi sem vešlo :)

Okno Visual Studia

Zajímat nás bude zejména prostřední okno, do kterého nám VS vygeneroval kostru zdrojového kódu. Možná může být překvapením, že nezačínáme s prázdným oknem, ale rovnou s kusem kódu. Proč tomu tak je pochopíte, až si kód alespoň intuitivně vysvětlíme, vše bude vysvětleno během seriálu a některé části jsou na pochopení poměrně složité, proto nám zatím bude stačit vědět, že tam prostě jsou.

Prvních několik řádků nám říká, jaké knihovny z .NET budeme využívat, asi zásadní je pro nás ta System, bez ní bychom asi těžko něco naprogramovali, protože obsahuje např. základní metody pro práci s konzolí. Namespace a class zatím nebudeme řešit, spokojíme se s tím, že je to určitý způsob, jak se aplikace v C# strukturují. Klíčová pro nás bude metoda Main, mezi ty složené závorky pod ní (tedy do jejího těla) budeme psát náš kód. Main je vyhrazené slovo a C# ví, že má po spuštění aplikace vykonat právě tuto metodu (může jich tam být totiž více, ale o tom opět později). Vlastně můžeme zatím ignorovat úplně všechno až na tělo metody Main().

Druhým důležitým prvkem v okně pro nás bude zelené tlačítko Play v horní liště, které program zkompiluje a spustí. Můžete si to zkusit, protože náš program zatím nic nedělá, hned se zase vypne. Spuštění můžeme provést též klávesovou zkratkou F5. Klávesové zkratky má VS velmi dobře řešené a ty pokročilejší připomínají systém akordů, když je budete znát, práce vám půjde rychleji od ruky. Vedle ikony šipky máme vybráno Debug. To znamená, že se program bude kompilovat v Debug módu a bude obsahovat určité rutiny k výpisu chyb. Tento mód se používá zejména pro testování programu (když ho vyvíjíme) a běh programu může být kvůli tomu o něco pomalejší. Jakmile si budeme jisti, že je program hotový, přepneme na Release a spustíme. Výsledkem bude vytvoření s spuštění programu tak, jak je ho možné šířit mezi lidi.

Adresářová struktura konzolové aplikace

Podíváme se, jak vypadá naše aplikace na disku. Otevřeme si složku s aplikací, tedy C:\Users\vase_jme­no\Dropbox\Cshar­p\PrvniAplika­ce. Nalezneme v ní soubor PrvniAplikace.sln, který zastupuje tzv. solution Visual Studia. Solution (řešení) je soubor projektů a může tedy obsahovat více aplikací, v praxi se toho využívá např. ve vícevrstvých aplikacích nebo při testování, pro nás je zajímavé jen to, že právě přes tento soubor budeme naše aplikace potom otevírat. Nalézá se zde také složka PrvniAplikace, ve které již sídlí náš projekt. Otevřeme si ji.

Soubor PrvniAplikace­.csproj obsahuje soubor našeho projektu, i přes něj lze naši aplikaci otevřít. Program.cs obsahuje samotný zdrojový kód. Zajímat nás bude ještě složka bin, jejíž název napovídá, že obsahuje binární (strojový) kód naší aplikace. Otevřeme ji.

Vidíme, že obsahuje podsložky Debug a Release. V nich jsou poté samotné exe soubory naší aplikace (pokud jsme ji samozřejmě alespoň jednou spustili v této konfiguraci). Pokud se budete chtít se svými aplikacemi někomu pochlubit, exe soubor ve složce Release je právě to, co mu pošlete. Dalších souborů si nemusíte všímat.

Hello world

Je zarytým zvykem, že prvním programem v nějakém novém jazyce bývá tzv. Hello world. Jedná se o program, který jakýmkoli způsobem uživateli zobrazí hlášku "Hello world", případně nějaký podobný text. Opět zopakuji, že příkazy budeme psát do těla metody main. Budeme potřebovat dva příkazy (pozn. výraz příkazy používám k zjednodušení), jeden k zobrazení textu a další k vyčkání na stisk libovolné klávesy, aby program hned neskončil.

K výpisu textu složí:

Console.WriteLine("Text");

A k vyčkání na klávesu:

Console.ReadKey();

Console je tzv. třída. Pojmem třída budeme zatím chápat soubor nějakých příkazů, příkazům se v C# říká metody. Console tedy obsahuje metody k obsluze konzole. Voláme na ni metodu WriteLine, která vypíše text. Vidíme, že metodu na třídě voláme pomocí operátoru tečka. Každá metoda může obsahovat nějaké vstupní parametry, které se zadávají do závorky a jsou oddělené čárkou. V případě metody WriteLine je parametrem text k vypsání. Textu budeme říkat textový řetězec nebo jen řetězec (anglicky string) a budeme ho psát do uvozovek, aby tomu C# rozuměl a nezaměňoval ho s jinými příkazy. Metoda ReadKey nemá žádné parametry, přesto však za její název musíme napsat závorku, ta je v C# povinná. Příkazy píšeme na samostatné řádky a za každý píšeme středník. Naše metoda Main tedy bude nyní vypadat nějak takto:

static void Main(string[] args)
{
        Console.WriteLine("Hello ITnetwork!");
        Console.ReadKey();
}

Program spustíme pomocí klávesy F5.

Konzolová aplikace
Hello ITnetwork!

Gratuluji, právě jste se stali programátorem :) To bude pro dnešek vše, v příští lekci, Proměnné, typový systém a parsování, se podíváme na základní datové typy a vytvoříme si jednoduchou kalkulačku.

Dnešní projekt je přiložen jako soubor na konci článku, i u dalších tutoriálů budu vždy výsledek přikládat ke stažení. Doporučuji si ale nejprve projekt vytvořit pomocí tutoriálu a ke stažení se uchýlit jen v případě, když vám něco nepůjde. Pokud program hned jen stáhnete, nic se nenaučíte :)


 

Stáhnout

Staženo 2632x (36.76 kB)
Aplikace je včetně zdrojových kódů v jazyce C#

 

 

Článek pro vás napsal David Čápka
Avatar
Jak se ti líbí článek?
98 hlasů
Autor pracuje jako softwarový architekt a pedagog na projektu ITnetwork.cz (a jeho zahraničních verzích). Velmi si váží svobody podnikání v naší zemi a věří, že když se člověk neštítí práce, tak dokáže úplně cokoli.
Unicorn College Autor se informační technologie naučil na Unicorn College - prestižní soukromé vysoké škole IT a ekonomie.
Miniatura
Předchozí článek
Úvod do C# a .NET frameworku
Miniatura
Všechny články v sekci
Základní konstrukce jazyka C#
Aktivity (10)

 

 

Komentáře
Zobrazit starší komentáře (105)

Avatar
djand
Člen
Avatar
djand:23. února 14:28

Ta instalace VS Community 2015 je straaaaaaaaaašně dlouhá. Včera mi to na jednom notebooku instalovalo 2h a já musel ten notebook zavřít a jít domů - a instalace byla prakticky na začátku. Dnes na jiném notebooku mi to taky běží asi 2h. To jste všichni tak trpěliví? Pomohlo by kdybych instaloval nějakou starší verzi? třeba 2012?

 
Odpovědět 23. února 14:28
Avatar
Odpovídá na djand
Michal Štěpánek:23. února 14:31

Nepomohlo...

Odpovědět  +2 23. února 14:31
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Jan Mareš
Člen
Avatar
Jan Mareš:10. března 21:16

Ahoj moc hezký tutoriál,vše hezky vysvětlené a hezky se dle něho učí.Mám dotaz,moc nechápu tento řádek v kodu:

static void Main(string[] args)

Vím že string je textový řetězec to chápu ale nechápu moc ten zápis v té závorce,proč to tam je a co znamená to args.A co celkově určuje ta definice v té závorce.

trochu jsem doma zkoušel a pokud kod napíši takto funguje mi to také.

namespace PrvníAplikace
{
    class Program
    {
        static void Main()
        {
            System.Console.BackgroundColor = System.ConsoleColor.Blue;
            System.Console.WriteLine("Hello ITnetwork!");
            System.Console.ReadKey();
        }
    }
}

Vím že by někteří mohli namítat že zápis v tomto tutoriálu je snažší a lepší a ano musím dát zapravdu,je lepší si ihned na začátku nadefinovat knihovnu using systém aby jsem jí nemusel neustále vypisovat.Píši to takto úmyslně jelikož se tento jazyk učím aby jsem vše pochopil,jak vše funguje a hlavně aby jsem se naučil styl zápisu.Nechci se spoléhat že vždy budu mít po ruce Visual studio či jiné IDE,které mi vygeneruje tuto část kodu,snažím se aby jsem se to naučil psát od samého začátku se vším všudy.

 
Odpovědět  +1 10. března 21:16
Avatar
Odpovídá na Jan Mareš
Michal Štěpánek:11. března 11:24

Když napíšeš

string pepa;

máš textový řetězec s názvem pepa
Když napíšeš

string[] pepa

vytvoříš pole stringů s názvem pepa
to "args" je jen název toho pole, v tomto případě se jedná o "argumenty"...

Odpovědět  +1 11. března 11:24
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
pocitac770
Redaktor
Avatar
Odpovídá na Jan Mareš
pocitac770:11. března 11:28

K prvnímu dotazu. Když se spouští program, tak se spoušťí s tzv. parametry.
Otevřeš si příkazovou řádku a napíšeš tam třeba "MujProgram.exe Adolf". To první je název programu co spoušťíš, cokoliv za tím se předává dovnitř jako spoušťecí parametry, které umožní automatizovat spoušťení programů s různými variacemi chování přes .bat scripty.
V mém příkladu máš tedy dostupné pole (několik proměnných v jedné, pochopíš později), kde máš uložený text, co jsi zadal, přesněji Adolf, může jít třeba o program, který dosadí nového vůdce do čela nacistického německa, a to vše s možností automatizace!
Trochu normálnější příklad, program, co ti umožní třeba smazat nějaký soubor, oním parametrem může být cesta k němu.

A toto "zkracování zápisu" přes using je úplně klasická programátorská praktika, nemusí vždy jít o jednoslovnou cestu ke třídě, stačí se podívat na usingy v předpřipravené hlavičce.

 
Odpovědět 11. března 11:28
Avatar
pocitac770
Redaktor
Avatar
Odpovídá na Michal Štěpánek
pocitac770:11. března 11:29

A moje slohovky vždy dorazí pozdě...:D

 
Odpovědět 11. března 11:29
Avatar
Jan Mareš
Člen
Avatar
Odpovídá na Michal Štěpánek
Jan Mareš:11. března 17:57

A když už si to pole stringů pojmenuji

string[] pepa

,mohu to nějak dále vyvolávat či s tím nějako dále pracovat,či je to pojmenování jen pro mne,a pokud tomu rozumím správně mohu v té závorce mít místo string cokoli jiného třeba int a obdobně,podle toho co budu vytvářet a ještě by jsem prosil vysvětlení co znamená či k čemu slouží

static void Main

zatím to jen chápu tak že to určuje tělo kodu.

 
Odpovědět 11. března 17:57
Avatar
pocitac770
Redaktor
Avatar
Odpovídá na Jan Mareš
pocitac770:11. března 18:03

Je to metoda, která se volá při každém spustění programu, být tebou tak bych to teď nechal, a nemíchal páté přes deváté, zde je programování učeno tak, že jdeš dál a dál do hloubky, postupně začínáš chápat věci, co jsi dříve bral jako samozřejmost, jak se zvyšují tvoje znalosti

 
Odpovědět  +1 11. března 18:03
Avatar
pocitac770
Redaktor
Avatar
Odpovídá na Jan Mareš
pocitac770:11. března 18:05

A s tím polem je to mnohem složitější na popsání než na pár řádků v commentu, pokračuj dál, je to už v 8. lekci, alespoň máš na co se těšit

 
Odpovědět  +1 11. března 18:05
Avatar
Čestmír Koudelka:14. června 11:26

perfektni tutorial, chvalim zejmena neignorovani prvotniho nastaveni a instalace na prvni pohled strasne sloziteho VS a taky Dropboxu, protoze to, co si clovek vstipi na zacatku, to mu zustane navzdy a v pripade zalohovani a verzovani to plati dvojnasob. clovek se pak vyhne "bordelu" v adresarich na disku a problemum s ukladanim, ktere funguje prece jen trochu jinak nez ve wordu..

 
Odpovědět 14. června 11:26
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 115. Zobrazit vše