TOC

This article is currently in the process of being translated into Croatian (~99% done).

Getting started:

Hello world explained

U prošlom poglavlju smo ispisali komad teksta u konzolu u našoj prvoj C# aplikaciji. S obzirom da nismo previše ulazili u značenje koda kojeg smo napisali, u ovom ćemo ga poglavlju objasniti. Kao što možete primijetit neke linije koda se podudaraju s drugima pa ćemo ih pojedinačno objasniti po grupama kako se pojavljuju. Krenimo s najkraćim i najčešćim znakovima u našem kodu: { }. Često se nazivaju vitičastim zagradama, a u C# označuju početak i kraj logičko bloka koda. Vitičaste zagrade se koriste u mnogim jezicima kao što su: C++, Java, JavaScript i drugi. Kao što možete vidjeti u kodu oni se koriste da "omotaju" više linija koda koje pripadaju zajedno. U kasnijim primjerima će biti jasnije kako se koriste.

Krenimo od početka:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using je ključna riječ, osjenčana plavom bojom. Using služi za učitavanje imenskog prostora (u daljnjem tekstu:"namespace"), a namespace je kolekcija klasa. Klase nam omogućavaju određene vrste funkcionalnosti, a kada radimo s naprednim IDE kao što je Visual Studio, on će nam obično kreirati trivijalne komade koda. U ovom slučaju stvorio je klasu za nas i učitao najčešće korištene imenske prostore (namespace). U našem slučaju ih je 5, koje sadrže brojne korisne klase. Na primjer, koristimo Console klasu koja je sastavni dio System imenskog prostora (namespace).

U drugu ruku, mi nećemo koristiti System.Linq namespace još, pa ako ste čistunac možete obrisati tu liniju koda, ali u ovom trenutku to neće igrati neku ulogu.

Kao što vidite čak smo dobili i vlastiti namespace:

namespace ConsoleApp1

Namespace ConsoleApp1 je glavni namespace za ovu aplikaciju, a novo stvorene klase biti će dio njega. Naravno da se ovo može promijeniti, i da je moguće stvarati klase u drugom namespace-u. U tom slučaju morat ćemo učitati novi namespace kako bi ga mogli koristiti u našoj aplikaciji. Učitavamo ga s using naredbom, kao i bilo koji drugi namespace.

Slijedeće, definiramo našu klasu. S obzirom da je C# čisti objektno orijentirani program, svaka linija koda koja nešto radi nalazi se unutar klase. U ovom slučaju klasa se jednostavno zove Program:

class Program

Možemo imati više klasa, čak i unutar iste datoteke. Za sada nam je dovoljna samo jedna. Klasa može sadržavati više varijabli, svojstava i metoda, koncepata o kojima ćemo govoriti temeljitije nešto kasnije. Za sad sve što trebate znati je to da naša trenutna klasa sadrži samo jednu metodu i ništa više. Deklarirana je ovako:

static void Main(string[] args)

Ova linija koda je vjerovatno najkompliciranija u ovom primjeru, hajdemo je proučiti. Prva riječ je static. Static ključna riječ nam govori da se ovoj metodi može pristupiti bez instanciranja klase, ali više o tome u poglavlju o klasama.

Slijedeća ključna riječ je void, i ona nam govori što metoda treba vraćati. Na primjer to može biti integer ili string teksta, ali u ovom slučaju ne želimo da metoda vraća išta. (C# koristi ključnu riječ void da izrazi koncept ničega, od metode se ne očekuje da vrati ikakav podatak).

Slijedeća riječ je Main, koja je jednostavno ime naše metode. Ova metoda je takozvana točka početka naše aplikacije, to znači, prvi dio koda koji će biti izvršen. A u našem primjeru i jedini dio koda koji će biti izvršen.

Sada, nakon imena metode, set argumenata može biti specificiran unutar zagrada. U našem primjeru, metoda prima samo jedan argument, pod nazivom args. Tip argumenta je string, da budemo precizniji, niz stringova, ali više o tome kasnije. Ako razmislite o tome, ima savršenog smisla, jer Windows aplikacije uvijek mogu biti pozvane sa proizvoljnim setom argumenata. Ti će argumenti biti proslijeđeni kao tekstualni stringovi u našu glavnu metodu.

I to je to. Do sada ste trebali steći osnovno znanje o našoj prvoj C# aplikaciji, kao i razumijevanje osnovnih principa rada konzolne aplikacije.