1. HelloWorld

1.2. C# kód

Konzolová aplikace

V následujících odstavcích si popíšeme, jak vytvořit naši první konzolovou aplikaci odpovídající zadání příkladu.


Vytvoření projektu

Nejprve spustíme aplikaci Visual Studio 2019 - viz Obrázek 1. Dále bude uváděna jen zkratka VS. 

Visual Studio 2019 - logo

Obrázek 1: Logo Visual Studio 2019

Přepnutí VS do angličtiny

VS má možnost instalace různých jazykových sad včetně češtiny. My však tuto možnost záměrně nevyužijeme za účelem osvojení anglických technických termínů z prostředí programování. Zároveň nám anglické termíny umožní snadnější vyhledávání např. v nápovědě, ve fórech, nebo v internetovém vyhledávači.

Pokud máme zapnutou českou jazykovou sadu, při spuštění prostředí VS se nám otevře okno v češtině, které se týká nastavení projektu např. v jakém jazyce má být projekt programován, pro které platformy je určen a jaký typ aplikace má být vytvořen. Pro přepnutí jazyku, nepotřebujeme vytvářet nový projekt, proto zvolíme možnost Pokračovat bez kódu v dolní pravé části okna - viz Obrázek 2. 


Obrázek 2: VS - okno nabídky projektů - čeština

 Tím se přepneme do prostředí VS. V horní hlavní nabídce pro změnu jazyka musíme nastavit VS následujícím způsobem: Nástroje → Možnosti → Prostředí → Mezinárodní nastavení → Jazyk = English - viz Obrázek 3.


Obrázek 3: VS - nastavení prostředí - čeština

Změna v nastavení jazyka VS se projeví až při opětovném spuštění VS - viz Obrázek 4. 

Visual Studio - změna jazyku - potvrzení

Obrázek 4: VS - změna jazyku - potvrzení

Zavřete VS a znovu otevřete VS.


Vytvoření projektu

Po spuštění VS se znovu spustí okno pro tvorbu, nebo spuštění již vytvořeného projektu. Nyní je však nabídka tohoto okna v angličtině - viz Obrázek 5. 


Obrázek 5: VS - okno nabídky projektů - angličtina

V pravé dolní části okna zvolíme tlačítko Create a new project - viz Obrázek 6.


Obrázek 6: VS - tlačítko vytvořit nový projekt

Pokud jste aktuální okno s projekty zavřeli, je možné projekt vytvořit pomocí horní hlavní nabídky VS - viz Obrázek 7. 

VS - horní nabídka

Obrázek 7: VS - hlavní nabídka

V této nabídce klikneme na File → New → Project... → 

V okně s projekty vybereme programovací jazyk, pomocí něhož budeme vytvářet naši první aplikaci: Language → jazyk C# - viz Obrázek 8.

Dále vybereme platformu, pro kterou budeme vytvářet naši aplikaci: Platform  → Windows

Jako poslední vybereme typ aplikace: Project type → Console


Obrázek 8: VS - výběr programovacího jazyku a typu aplikace

Z vyfiltrovaných typů aplikací vybereme Konzolová aplikace (.NET Framework) - viz Obrázek 9.

VS - výběr konzolové aplikace - .NET Framework

Obrázek 9: VS - výběr konzolové aplikace - .NET Framework

V okně konfigurace nového projektu vyplníme následující atributy: Project name = HelloWorld - viz Obrázek 10.

Pokud nám nevyhovuje umístění adresáře projektu, lze definovat jinou cestu v Location. 

Solution name (soubor s příponou *.sln) ponese stejné jména jako název našeho projektu. 

Framework ponecháme automaticky detekovanou pomocí VS. 

Klikneme na tlačítko Create (tím se vygeneruje projektu, do kterého budeme moci vpisovat náš zdrojový kód).


Obrázek 10: VS - konfigurovat nový projekt


C# kód

VS nám vygenerovalo v našem projektu zdrojový soubor Program.cs (cs představuje CSharp, tedy C#), který je zobrazen v okně Editoru kódu - viz Obrázek 11. Pojďme si v rychlosti popsat GUI (grafické uživatelské rozhraní) VS. S hlavní nabídkou jsme se již setkali při změně jazyku. Pod touto nabídkou je v našem případě zobrazen panel Standard. Pomocí tohoto panelu lze ukládat kód, spouštět program, komentovat, atd. V okně editoru kódu vidíme automaticky vygenerovaný kód pro naší konzolovou aplikaci. Ve stromové struktuře v panelu Solution Explorer vidíme rozpad jednotlivých souborů umístěných v našem projektu. Vidíme, že náš soubor Program.cs obsahuje třídu Program a v ní vnořenou hlavní metodu Main.

VS - GUI - uživatelské prostředí

Obrázek 11: VS - GUI - uživatelské prostředí

Pojďme si tento kód zběžně prozkoumat. Náš zdrojový kód programu začíná klíčovým slovem using (předdefinované rezervované slovo), které specifikuje využití určitých knihoven (systémových tříd), které mohou být využity ve jmenném prostoru, tj. namespace. Klíčové slovo namespace, definuje jmenný prostor HelloWorld. Jmenný prostor deklaruje obor obsahující sadu souvisejících objektů. 

Samotná metoda Main (jedná se o proceduru, tzn. nemá žádný výstup - void) je součástí třídy Program - viz Kód 1. Třída slouží jako předpis pro vznik objektu (tzv. instance třídy). Metoda Main označuje vstupní bod programu (lze ji vnímat jako hlavní program). Za metodou Main jsou uvedeny kulaté závorky, které značí parametr metody (vstup/y) ve formě pole s textovými řetězci. Parametr args není povinné uvádět, takže můžeme tento parametr uvnitř závorky smazat v případě, že ho nepotřebujeme. Zdrojový kód, který má být v rámci metody Main vykonán, se umísťuje do složených závorek { }. 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace HelloWorld
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}

Kód 1: Program HelloWolrd - deklarace těla hlavní statické metody Main 

Za první složenou závorku umístíme příkaz WriteLine pro samotný výpis textu na obrazovku - viz Kód 2. Tento příkaz (v podstatě se jedná o metodu uvnitř třídy Console) přijímá text, který je uveden uvnitř kulatých závorek mezi dvojitými uvozovkami. Text představuje řetězec za sebou jdoucích znaků - datový typ string. Poněvadž by po provedení příkazu výpisu textu nastalo ukončení programu a neměli bychom možnost si přečíst vypsaný text, přidáme do programu další příkaz, který čeká na stisk klávesy a po té je program následně ukončen. Jedná se o příkaz ReadKey, který načte nějaký vstup, který by následně mohl být dále zpracován. My si však tento vstup nikam neukládáme a ani s ním dále nechceme pracovat. Po stisku klávesy tedy následně dojde k ukončení programu. 

Vzhledem k tomu, že je možné, že se k programu někdy později vrátíme a už bychom si nepamatovali, o co jsme se v kódu pokoušeli, je vhodné náš kód doplnit tzv. komentáři, tedy poznámkami, které nemají vliv na provádění kódu. Jednořádkový komentář umístíme za dvojité lomítko nad kód, kterého se týká.

//výpis textu
Console.WriteLine("Hello, World!");
//čekání na ukončení, tj. načtení vstupu z klávesnice
Console.ReadKey();

Kód 2:  Příklad zdrojového kódu pro vypsání textu a čekání na ukončení programu