Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

2. diel - Visual Studio a prvá konzolová aplikácia v C# .NET

V minulej lekcii, Úvod do C# a .NET Frameworku, sme si povedali niečo o jazyku ako takom a tiež sme pochopili, čo je to .NET Framework.

V dnešnom tutoriále sa zameriame hlavne na IDE Visual Studio. Ukážeme si, ako sa používa, a naprogramujeme si jednoduchú konzolovú aplikáciu.

IDE je skratka pre Integrated Development Environment (integrované vývojové prostredie) a jednoducho povedané sa jedná o aplikáciu, v ktorej píšeme zdrojový kód a pomocou ktorej potom našu aplikáciu testujeme a ladíme.

Začať musíme samozrejme tým, že si Visual Studio nainštalujeme. Pokiaľ študujete IT školu, je veľmi pravdepodobné, že máte cez MSDN prístup k ostrej verzii Visual Studio Enterprise zadarmo. Ak nie, nezúfajte, pretože Visual Studio (ďalej len VS) má edíciu Community, ktorá je úplne zadarmo, a to dokonca aj na komerčné účely. Aj tá vám bude dlho stačiť, pretože jej obmedzenia nie sú nijako veľké. Tu máte link na stiahnutie Visual Studio Community.

Inštalácia

Pokiaľ máte aspoň elementárne znalosti angličtiny, odporúčame VS nainštalovať v tomto jazyku. Keď budete pokročilí programátori, ušetrí vám to veľa nepríjemností. Ideálne by sa mal písať anglicky aj kód. Je na vás a vašich znalostiach angličtiny, ako vaše programy budete písať, ale výhodou anglického programu je samozrejme to, že ako veľmi pokročilí môžete diskutovať veľmi zložité problémy na medzinárodných fórach, kde sa vyskytujú experti na danú oblasť. U pokročilých vecí, ako sú databázy alebo web. aplikácie, treba vo VS nastaviť mnoho špecifických vecí, manuály v slovenčine nemusíte nájsť a potom len premýšľate, aký je asi preklad daného checkboxu. Angličtina je v programovaní štandardom. Slovenčina samozrejme teraz pre začiatok nie je žiadny problém a na vaše programy nemá žiadny vplyv, myslíme to skôr do budúcnosti.

Poďme sa teda dať do samotnej inštalácie. Inštalácia sa nás spýta na tzv. sady funkcií, ktoré chceme mať súčasťou VS. Zaškrtneme sadu ".NET desktop development". Táto sada umožňuje vyvíjať ako konzolové, tak klasické okenné aplikácie:

Inštalácia Visual Studio pre desktopový vývoj - Základná konštrukcia jazyka C# .NET

Spolu s touto sadou sa nám taktiež nainštalujú najnovšie verzie .NET (Core) a .NET Framework. Konkrétne verzie a komponenty si možno vybrať v záložke Individual components. My si vystačíme s predvoleným výberom:

Jednotlivé komponenty - Základná konštrukcia jazyka C# .NET

Ak sa rozhodnete pre používanie VS v angličtine, nezabudnite si ju zaškrtnúť v záložke Language packs:

Jazykové sady - Základná konštrukcia jazyka C# .NET

Potvrdíme tlačidlom Inštalovať.

Je možné, že niektoré edície VS bude potrebné zaregistrovať, registrácia je zadarmo a obdržíte potom sériové číslo, ktoré vám umožňuje program zadarmo a legálne používať.

Zálohovanie a verzovanie

Programátor okrem IDE potrebuje aj nejaký nástroj, ktorý bude zálohovať a verzovať jeho prácu. Nemôžeme sa spoľahnúť na to, že program jednoducho budeme ukladať, pretože sme ľudia, a nie stroje. Ľudia robia chyby, a keď prídete o niekoľkodennú, alebo dokonca niekoľkotýždňovú prácu, môže to zabolieť. Je dobré naučiť sa na toto myslieť hneď od začiatku. Veľmi odporúčam program Dropbox, ktorý je extrémne jednoduchý a sám vaše súbory verzuje (teda zachováva zmeny v čase a je možné sa vrátiť k starším verziám projektu) a zároveň synchronizuje s webovým úložiskom. Aj keby ste si projekt omylom zmazali, prepísali, niekto vám ukradol notebook alebo vám skolaboval pevný disk, vaše dáta zostanú v bezpečí. Dropbox tiež umožňuje zdieľať jeden projekt medzi viacerými vývojármi. Viac o Dropboxe viď tento článok, ktorý obsahuje zároveň pozvánku do Dropboxu s 0,5 GB priestoru navyše.

Ako ďalší verziovací nástroj sa hojne používa Git, jeho nastavenie ale vydalo na samostatný kurz a Dropbox na naše účely bohato postačuje.

Vytvorenie projektu

Po spustení VS sa nám zobrazí nasledujúce okno, kde vyberieme Create a new project pre vytvorenie nového projektu:

Úvodný dialóg Visual Studio - Základná konštrukcia jazyka C# .NET

Na ďalšej stránke si nájdeme Console app, vyberieme ju a pokračujeme stlačením Next:

Visual Studio – Create a new project - Základná konštrukcia jazyka C# .NET

Nejakú dobu zostaneme pri konzolových aplikáciách (príkazový riadok), pretože na ich obsluhu potrebujeme minimálne znalosti z objektového sveta, a sú teda ideálne na naučenie základov jazyka.

Ako meno aplikácie zvolíme FirstApplication. Pri lokácii vyberieme zložku C:\Users\your_name\Dropbox\Csharp:

Visual Studio – Configure your new project - Základná konštrukcia jazyka C# .NET

Po opätovnom kliknutí na Next sa dostaneme na stránku s výberom frameworku (implementácia .NET). Výber necháme na najnovšom možnom (v našom prípade .NET 8.0):

Visual Studio – Additional information - Základná konštrukcia jazyka C# .NET

Vytvorenie projektu už len potvrdíme kliknutím na tlačidlo Create.

Ovládanie Visual Studia

Okno teraz vyzerá asi takto, my sme ho zmenšili, aby sa sem zmestilo:

Okno Visual Štúdia - Základná konštrukcia jazyka C# .NET

Zaujímať nás bude najmä prostredné okno s otvoreným súborom Program.cs, do ktorého nám VS vygenerovalo jednoduchý zdrojový kód:

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

Vynechali sme tu prvý riadok textu. Ide o tzv. komentár, ktorý nám umožňuje do kódu písať rôzne poznámky. Tieto komentáre nemajú vplyv na funkčnosť programu, pretože sa vôbec nekompilujú do medzikódu. Tento konkrétny komentár nás odkazuje na oficiálnu dokumentáciu funkcionality C#, ktorú si vysvetlíme ďalej.

Kód bez príkazov najvyššej úrovne

Od .NET 6.0 je možné používať tzv. príkazy najvyššej úrovne, ktoré zjednodušujú kód. Bez nich by kód tej istej aplikácie, s ktorým sa tiež budete stretávať, vyzeral takto:

using System;

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

Na prvý pohľad sa môže zdať, že ide o úplne iný kód. V skutočnosti ale oba kódy robia úplne to isté. Jediným rozdielom je, že VS generuje projekty od verzie .NET 6.0 s využitím tzv. príkazov najvyššej úrovne, ktoré boli pridané v C# 9. Táto funkcionalita nám umožňuje vynechať všetok kód, ktorý je v druhej ukážke kódu navyše oproti tomu nášmu. VS ho totiž vygeneruje automaticky za nás počas kompilácie do medzikódu. Pre nás je to vlastne výhoda, pretože niektoré časti sú na pochopenie pomerne zložité. Aj tak si ich však aspoň intuitívne vysvetlíme, keby ste náhodou pracovali so staršou verziou C# a .NET.

Prvý riadok nám hovorí, ktoré knižnice z .NET budeme využívať. Tu je uvedená knižnica System, bez nej by sme asi ťažko niečo naprogramovali, pretože obsahuje napr. základné metódy pre prácu s konzolou. Kľúčové slová namespace a class zatiaľ nebudeme riešiť, uspokojíme sa s tým, že je to určitý spôsob, ako sa aplikácie v C# štruktúrujú. Kľúčová je pre nás metóda Main(), medzi ktorej zložené zátvorky pod ňou (teda do jej tela) sa píše kód. Main je vyhradené slovo a C# vie, že má po spustení aplikácie vykonať práve túto metódu (môže ich tam totiž byť viac, ale o tom si povieme neskôr). Vlastne môžeme zatiaľ ignorovať úplne všetko okrem tela metódy Main().

Aj v .NET 6.0 a novších projektoch je možné využívať túto štruktúru s metódou Main(). Na zjednodušenie sa tomu však vyhneme. Všetok kód, ktorý zatiaľ budeme písať, sa nakoniec pri kompilácii automaticky vloží do tela metódy Main().

Prvé spustenie aplikácie

Druhým dôležitým prvkom v okne pre nás bude zelené tlačidlo Play s názvom aplikácie (FirstApplication) v hornej lište, ktoré program skompiluje a spustí. Môžeme si to skúsiť. Otvorí sa nám konzola, do ktorej sa vypíše text Hello, World!:

Konzolová aplikácia
Hello, World!

Spustenie môžeme vykonať aj klávesom F5. VS má veľmi dobre riešené klávesové skratky a tie pokročilejšie pripomínajú systém akordov. Keď ich budete poznať, práca vám pôjde rýchlejšie od ruky. Naľavo od tlačidla Play máme vybrané Debug. To znamená, že sa program bude kompilovať v Debug móde a bude obsahovať určité rutiny na výpis chýb. Tento mód sa používa najmä na testovanie programu (keď ho vyvíjame) a beh programu môže byť kvôli tomu o niečo pomalší. Akonáhle si budeme istí, že je program hotový, prepneme na Release a spustíme. Výsledkom bude vytvorenie a spustenie programu tak, ako ho možno šíriť medzi ľudí.

Adresárová štruktúra konzolovej aplikácie

Teraz sa pozrieme, ako vyzerá naša aplikácia na disku. Otvoríme si zložku s aplikáciou, teda C:\Users\your_name\Dropbox\Csharp\FirstApplication\. Nájdeme v nej súbor FirstApplication.sln, ktorý zastupuje tzv. solution Visual Studia. Solution (riešenie) je súbor projektov a môže teda obsahovať viac aplikácií. V praxi sa to využíva napr. vo viacvrstvových aplikáciách alebo pri testovaní, pre nás je zaujímavé len to, že práve cez tento súbor budeme naše aplikácie následne otvárať. Nachádza sa tu tiež zložka FirstApplication/, v ktorej už sídli náš projekt. Otvorme si ju.

Súbor FirstApplication.csproj obsahuje súbor nášho projektu, aj cez neho je možné našu aplikáciu otvoriť. Program.cs obsahuje samotný zdrojový kód. Zaujímať nás bude ešte zložka bin/, ktorej názov napovedá, že obsahuje binárny (strojový) kód našej aplikácie. Otvoríme ju.

Vidíme, že obsahuje podpriečinky Debug/ a Release/. V nich sú potom samotné .exe súbory našej aplikácie (pokiaľ sme ju samozrejme aspoň raz spustili v tejto konfigurácii). Pokiaľ sa budete chcieť so svojimi aplikáciami niekomu pochváliť, .exe súbor v priečinku Release/ je práve to, čo im pošlete. Ďalších súborov si nemusíte všímať.

Hello world

Je zarytým zvykom, že prvým programom v nejakom novom jazyku býva tzv. Hello world. Ide o program, ktorý akýmkoľvek spôsobom užívateľovi zobrazí hlášku "Hello world", prípadne nejaký podobný text. Takýto program nám VS vlastne už vygenerovalo. Vysvetlíme si ho a trochu upravíme. Budeme pracovať s dvoma príkazmi (pozn. výraz príkazy používame kvôli zjednodušeniu): s jedným na zobrazenie textu a ďalším na vyčkanie na stlačenie ľubovoľného klávesu, aby program hneď neskončil.

Na výpis textu slúži:

Console.WriteLine("Text");

A na počkanie na kláves:

Console.ReadKey();

Console je tzv. trieda. Pojmom trieda budeme zatiaľ chápať súbor nejakých príkazov. Príkazom sa v C# hovorí metódy. Console teda obsahuje metódy na obsluhu konzoly. Voláme na ňu metódu WriteLine(), ktorá vypíše text. Vidíme, že metódu na triede voláme pomocou operátora bodka (.). Každá metóda môže obsahovať nejaké vstupné parametre, ktoré sa zadávajú do zátvorky a sú oddelené čiarkou. V prípade metódy WriteLine() je parametrom text na vypísanie. Textu budeme hovoriť textový reťazec alebo len reťazec (anglicky string) a budeme ho písať do úvodzoviek, aby tomu C# rozumel a nezamieňal ho s inými príkazmi:

Opäť pripomenieme, že pri projektoch starších ako .NET 6.0 píšeme príkazy do tela metódy Main().

Úvodzovky sú na slovenskej klávesnici na rovnakom klávese ako u, ale píšeme ich so Shift:

Úvodzovky - Základná konštrukcia jazyka C# .NET

Metóda ReadKey() nemá žiadne parametre, napriek tomu však za jej názov musíme napísať zátvorku, ktorá je v C# povinná. Príkazy píšeme na samostatné riadky a za každý píšeme bodkočiarku (;):

Ak neviete, kde je na klávesnici ;, tak ho nájdete pod klávesou Esc:

Stredník - Základná konštrukcia jazyka C# .NET

Náš kód teda bude teraz vyzerať nejako takto:

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

Program spustíme pomocou klávesy F5.

Konzolová aplikácia
Hello ICTdemy!

Gratulujeme, práve ste sa stali programátorom :)

Na záver ešte drobná vychytávka. Skúste si vo svojom Visual Studiu napísať na nový riadok cw a potom dvakrát stlačiť Tabuľátor. Vypíše sa vám celý príkaz: Console.WriteLine();. Tomuto kúzlu sa hovorí snippet a počas kurzu si spomenieme ďalšie podobné užitočné skratky.

Dnešný projekt je priložený ako súbor na konci článku. Výsledky budú vždy priložené na stiahnutie aj u ďalších C# tutoriálov. Odporúčame vám však vytvoriť si projekt najskôr pomocou tutoriálu a na stiahnutie sa uchýliť len v prípade, keď vám niečo nepôjde. Pokiaľ program iba hneď stiahnete, nič sa nenaučíte :)

To bude pre dnešok všetko, v budúcej lekcii, Premenné, typový systém a parsovanie v C# .NET, sa pozrieme na základné dátové typy a vytvoríme si jednoduchú kalkulačku.


 

Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 7x (59.14 kB)
Aplikácia je vrátane zdrojových kódov v jazyku C#

 

Predchádzajúci článok
Úvod do C# a .NET Frameworku
Všetky články v sekcii
Základná konštrukcia jazyka C# .NET
Preskočiť článok
(neodporúčame)
Premenné, typový systém a parsovanie v C# .NET
Článok pre vás napísal David Hartinger
Avatar
Užívateľské hodnotenie:
23 hlasov
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 sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity