IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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í.

Lekce 2 - Visual Studio a první konzolová aplikace v C# .NET

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 pro 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čujeme 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 budeme v celém kurzu 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 daného 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íme to spíše do budoucna.

Pojďme se tedy dát do samotné instalace. Instalace se nás zeptá na tzv. sady funkcí, které chceme mít součástí VS. Zaškrtneme sadu "Vývoj desktopových aplikací pomocí .NET". Tato sada umožňuje vyvíjet jak konzolové, tak klasické okenní aplikace:

Instalace Visual Studio pro desktopový vývoj - Základní konstrukce jazyka C# .NET

Spolu s touto sadou se nám také nainstalují nejnovější verze .NET (Core) a .NET Framework. Konkrétní verze a komponenty si lze vybrat v záložce Jednotlivé komponenty. My si vystačíme s výchozím výběrem:

Jednotlivé komponenty - Základní konstrukce jazyka C# .NET

Jestliže se rozhodnete pro používání VS v angličtině, nezapomeňte si ji zaškrtnout v záložce Jazykové sady:

Jazykové sady - Základní konstrukce jazyka C# .NET

Potvrdíme tlačítkem Instalovat.

Je možné, že některé edice VS bude třeba 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í

Programátor kromě IDE potřebuje také 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, někdo vám ukradl 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í ale vydalo na samostatný kurz a Dropbox pro naše účely bohatě postačuje.

Vytvoření projektu

Po spuštění VS se nám zobrazí následující okno, kde vybereme Create a new project pro vytvoření nového projektu:

Úvodní dialog Visual Studio - Základní konstrukce jazyka C# .NET

Na další stránce si najdeme konzolovou aplikaci, vybereme ji a pokračujeme stisknutím Next:

Visual Studio – Create a new project - Základní konstrukce jazyka C# .NET

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.

Jako jméno aplikace zvolíme PrvniAplikace. U lokace vybereme složku C:\Users\vase_jmeno\Dropbox\Csharp:

Visual Studio – Configure your new project - Základní konstrukce jazyka C# .NET

Po opětovném kliknutí na Next se dostaneme na stránku s výběrem frameworku (implementace .NET). Výběr necháme na nejnovějším možném (v našem případě .NET 6.0):

Visual Studio – Additional information - Základní konstrukce jazyka C# .NET

Vytvoření projektu už jen potvrdíme kliknutím na tlačítko Create.

Ovládání Visual Studia

Okno nyní vypadá asi takto, my jsem jej zmenšili, aby se sem vešlo :)

Okno Visual Studia - Základní konstrukce jazyka C# .NET

Zajímat nás bude zejména prostřední okno s otevřeným souborem Program.cs, do kterého nám VS vygenerovalo jednoduchý zdrojový kód:

Console.WriteLine("Hello, World!");

Vynechali jsme zde první řádek textu. Jedná se o tzv. komentář, který nám umožňuje do kódu psát různé poznámky. Tyto komentáře nemají vliv na funkčnost programu, protože se vůbec nekompilují do mezikódu. Tento konkrétní komentář nás odkazuje na oficiální dokumentaci funkcionality C#, kterou si vysvětlíme dále.

Kód bez příkazů nejvyšší úrovně

Od .NET 6.0 je možné používat tzv. příkazy nejvyšší úrovně, které zjednodušují kód. Bez nich by kód téže aplikace, s nímž se také budete setkávat, vypadal takto:

using System;

namespace PrvniAplikace
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, World!");
        }
    }
}

Na první pohled se může zdát, že se jedná o zcela jiný kód. Ve skutečnosti ale oba kódy dělají úplně totéž. Jediným rozdílem je, že VS generuje projekty od verze .NET 6.0 s využitím tzv. příkazů nejvyšší úrovně, které byly přidány v C# 9. Tato funkcionalita nám umožňuje vynechat všechen kód, který je ve druhé ukázce kódu navíc oproti tomu našemu. VS jej totiž vygeneruje automaticky za nás během kompilace do mezikódu. Pro nás je to vlastně výhoda, jelikož některé části jsou na pochopení poměrně složité. I tak si je však alespoň intuitivně vysvětlíme, kdybyste náhodou pracovali se starší verzí C# a .NET.

První řádek nám říká, které knihovny z .NET budeme využívat. Zde je uvedena knihovna System, bez ní bychom asi těžko něco naprogramovali, protože obsahuje např. základní metody pro práci s konzolí. Klíčová slova 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á je pro nás metoda Main(), mezi jejíž složené závorky pod ní (tedy do jejího těla) se píše 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 totiž být více, ale o tom si povíme později). Vlastně můžeme zatím ignorovat úplně vše vyjma těla metody Main().

I v .NET 6.0 a novějších projektech je možné využívat tuto strukturu s metodou Main(). Pro zjednodušení se tomu však vyhneme. Všechen kód, který zatím budeme psát, se nakonec při kompilaci automaticky vloží do těla metody Main().

První spuštění aplikace

Druhým důležitým prvkem v okně pro nás bude zelené tlačítko Play s názvem aplikace (PrvniAplikace) v horní liště, které program zkompiluje a spustí. Můžeme si to zkusit. Otevře se nám konzole, do které se vypíše text Hello, World!:

Konzolová aplikace
Hello, World!

Spuštění můžeme provést též klávesou F5. VS má velmi dobře řešené klávesové zkratky a ty pokročilejší připomínají systém akordů. Když je budete znát, práce vám půjde rychleji od ruky. Nalevo od tlačítka Play 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 jistí, že je program hotový, přepneme na Release a spustíme. Výsledkem bude vytvoření a spuštění programu tak, jak je ho možné šířit mezi lidi.

Adresářová struktura konzolové aplikace

Nyní se podíváme, jak vypadá naše aplikace na disku. Otevřeme si složku s aplikací, tedy C:\Users\vase_jmeno\Dropbox\Csharp\PrvniAplikace\. 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 následně 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 jim 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ýmkoliv způsobem uživateli zobrazí hlášku "Hello world", případně nějaký podobný text. Takový program nám VS vlastně již vygenerovalo. Vysvětlíme si jej a trochu upravíme. Budeme pracovat se dvěma příkazy (pozn. výraz příkazy používáme kvůli zjednodušení): s jedním k zobrazení textu a dalším k vyčkání na stisk libovolné klávesy, aby program hned neskončil.

K výpisu textu slouží:

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.

Opět připomeneme, že u projektů starších než .NET 6.0 píšeme příkazy do těla metody Main().

Uvozovky jsou na české klávesnici na stejné klávese jako ů, ale píšeme je se Shift:

Uvozovky - Základní konstrukce jazyka C# .NET

Metoda ReadKey() nemá žádné parametry, přesto však za její název musíme napsat závorku, která je v C# povinná. Příkazy píšeme na samostatné řádky a za každý píšeme středník (;).

Pokud nevíte, kde je na klávesnici ;, tak ho naleznete pod klávesou Esc:

Středník - Základní konstrukce jazyka C# .NET

Náš kód tedy bude nyní vypadat nějak takto:

Console.WriteLine("Hello ITnetwork!");
Console.ReadKey();

Program spustíme pomocí klávesy F5.

Konzolová aplikace
Hello ITnetwork!

Gratulujeme, právě jste se stali programátorem :)

Závěrem ještě drobná vychytávka. Zkuste si ve svém Visual Studiu napsat na novou řádku cw a pak dvakrát stisknout Tabulátor. Vypíše se vám celý příkaz: Console.WriteLine();. Tomuto kouzlu se říká snippet a během kurzu si zmíníme další podobné užitečné zkratky.

Dnešní projekt je přiložen jako soubor na konci článku. Výsledky budou vždy přiloženy ke stažení také u dalších C# tutoriálů. Doporučujeme vám však vytvořit si projekt nejprve pomocí tutoriálu a ke stažení se uchýlit jen v případě, když vám něco nepůjde. Pokud program pouze hned stáhnete, nic se nenaučíte :)

To bude pro dnešek vše, v příští lekci, Proměnné, typový systém a parsování v C# .NET, se podíváme na základní datové typy a vytvoříme si jednoduchou kalkulačku.


 

Měl jsi s čímkoli problém? Stáhni si vzorovou aplikaci níže a porovnej ji se svým projektem, chybu tak snadno najdeš.

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

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

 

Předchozí článek
Úvod do C# a .NET Frameworku
Všechny články v sekci
Základní konstrukce jazyka C# .NET
Přeskočit článek
(nedoporučujeme)
Proměnné, typový systém a parsování v C# .NET
Článek pro vás napsal David Hartinger
Avatar
Uživatelské hodnocení:
1579 hlasů
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David se informační technologie naučil na Unicorn University - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity