2. diel - Visual Studio a prvá konzolová aplikácia v C# .NET
V predchádzajúcej 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áli 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é, jedná sa 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. Ak ste študentom IT, 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 stačiť, pretože jej obmedzenia nie sú nejako veľké. Tu máte odkaz na stiahnutie Visual Studio Community.
Inštalácia
Ak ovládate aspoň základy 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ť o veľmi zložitých problémoch na medzinárodných fórach, kde sa vyskytujú experti na danú oblasť. U pokročilých vecí, ako sú databázy alebo webové 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 pustiť do samotnej inštalácie. Inštalácia sa nás spýta na tzv. súbory funkcií, ktoré chceme, aby boli súčasťou VS. Zaškrtneme súbor .NET desktop development. Tento súbor umožňuje vyvíjať konzolové aj klasické okenné aplikácie:

Spolu s týmto súborom 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:

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

Potvrdíme tlačidlom Install.
Je možné, že niektoré edície VS bude potrebné zaregistrovať, registrácia je zadarmo a potom obdržíte sériové číslo, ktoré vám umožňuje používať program zadarmo a legálne.
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 to 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é vrátiť sa k starším verziám projektu) a zároveň sa 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 si pozrite v tomto článku, ktorý obsahuje zároveň pozvánku do Dropboxu s 0,5 GB priestoru navyše.
Ako ďalší verzovací nástroj sa značne používa Git, jeho nastavenie ale nájdete v samostatnom kurze 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 na vytvorenie nového projektu:

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

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
:

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):

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:

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 funkcia 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ž za nás vygeneruje automaticky 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# štrukturujú. Kľúčová je pre nás metóda
Main()
, kde sa medzi zložené zátvorky pod ňou (teda do jej
tela) 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 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 však
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). Ak 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šie súbory si nemusíte všímať.
Hello world
Je 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 ô, ale píšeme ich so Shift:

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:

Náš kód teda bude teraz vyzerať nejako takto:
using System;
namespace OnlineApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello ICTdemy!");
Console.ReadKey();
}
}
}
Program spustíme pomocou klávesu 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 pri ďalších C# tutoriáloch. Odporúčame
vám však vytvoriť si projekt najskôr pomocou tutoriálu a ku stiahnutiu sa
uchýliť len v prípade, keď vám niečo nepôjde. Ak si program hneď
stiahnete, nič sa nenaučíte
To bude na dnes všetko, v ďalšej 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é 16x (398.87 kB)
Aplikácia je vrátane zdrojových kódov v jazyku C#