This article has been localized into Hungarian by the community.
A "Hello world" program működése
Az előző fejezetben kipróbáltuk hogyan lehet valamilyen szöveges tartalmat kiírni a konzolra első C# alkalmazásunkban. Hogy gyorsan haladjunk, nem mentünk bele a kódsorok részletes elemzésébe, így ebben a fejezetben átnézzük részletesen a "Hello world" pédakódot. Ahogyan az itteni kódból is látható, a nagy része nagyon hasonló, így csoportokba foglalva kerülnek elemzésre. Kezdjük a legyrövidebb és a legegyszerűbb dologgal, amely a kódunkban van: a { és a } karakterek. Általában kapcsos zárójelnek, informálisan "bajszos zárójelnek" is nevezik ezeket. C#-ban egy logikailag összetartozó kódrészlet elejét és végét jelentik. Ezeket a zárójeleket sok más programozási nyelv is használja, többek között a C++, a Java vagy a JavaScript. Ahogyan a kódból is látszik, több, összetartozó kódsort csomagolnak egybe. A későbbi példákban világosabb lesz, hogyan kell őket használni.
Kezdjük az elején:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
A using egy kulcsszó, amely a szerkesztőben kék színnel van kiemelve. A using kulcsszó egy névteret importál be, a névtér pedig osztályok (és egyéb típusok - a ford.) gyűjteménye. Az osztályok különböző funkciókat biztosítanak számunkra. Amikor valamilyen fejlett IDE-ben (integrated development environment: integrált fejlesztőkörnyezet - a ford.), mint a Visual Studio-ban dolgozunk, akkor ez a forráskódnak a triviális részeit elkészíti számunkra. Ebben az esetben létrehozott nekünk egy osztály és beimportálta azokat a névtereket, amelyek szükségesek vagy gyakran használtak. Ebben az esetben 5 névteret importált nekünk, amelyek mindegyike sok hasznos osztályt tartalmaz. Például a Console osztály a System névtér része.
Másrészről, egyelőre nem igazán használjuk a System.Linq névteret (például), így ha nagyon pedáns vagy, akkor akár ki is törölheted ezt a sort, de egyelőre mindegy.
Ahogy látható, saját névterünk is lett:
namespace ConsoleApp1
A ConsoleApp1 névtér az alkalmazás fő névtere most, és az új osztályok is ehhez adódnak hozzá alapértelmezetten. Természetesen ezt meg lehet változtatni és más névterekbe is lehet osztályokat tenni. Ebben az esetben importálni kell ezt a névteret is az alkalmazásodba a using utasítással, mint minden más névteret.
Ezután egy új osztályt definiálunk. Mivel a C# egy teljesen objektumorientált programozási nyelv, így valójában minden kód, amely futtatható, egy osztály belsejében foglal helyet. Ebben az esetben az osztály neve egyszerűen "Program".
class Program
Több osztályt is létrehozhatunk, akár ugyanabban a fájlban is (ez utóbbi azonban rossz gyakorlatnak számít - a ford.). Egyelőre csak egy osztályra van szükségünk. Az osztály tartalmazhat mezőket (field), tulajdonságokat (property) és metódusokat (method) (ezek majd később jobban bemutatásra kerülnek). Egyelőre elég annyit tudni, hogy az osztályunk egyetlen metódust tartalmaz és semmi mást. Így van deklarálva:
static void Main(string[] args)
Ez talán a legbonyolultabb sor ebben a példában, úgyhogy bontsuk darabokra. Az első elem a static. A static kulcsszó azt jelenti, hogy a metódusnak meghívhatónak kell lennie anélkül, hogy az osztályt példányosítanánk (erről majd később, az osztályokat tárgyaló fejezetben esik több szó).
A következő kulcsszó a void, amely azt mutatja meg, hogy a metódus milyen értéket ad vissza. Ez lehetne egy egész szám vagy szöveg is akár, de ebben az esetben azt szeretnénk, hogy a metódus ne adjon vissza semmit (a C# nyelv a void kulcsszót használja, hogy kifejezze azt, hogy semmi).
A következő elem a Main, amely egyszerűen a metódusunk neve. Ez az alkalmazásunk belépési pontja: az első olyan kódrészlet, amely elkezd futni (a mi példánkban az egyetlen, amely fut.)
A metódus neve után a zárójelek között paramétereket lehet megadni. A példánkban a metódusnak egyetlen paramétere van, az args, A paraméter típusa string típusú elemek tömbje (a tömbökről később lesz részletesen szó). Ha belegondolunk, ezt teljesen logikus, hiszen a Windows alkalmazásoknak indításkor mindig van lehetőségünk argumentumokat megadni. Ezek az argumentumok azok, amelyek szövegként átadásra kerülnek a "Main" metódusnak.
És ennyi. Most már tudod, hogy az első C# alkalmazásunk hogyan épül fel és érted azokat az alapelveket, amelyek alapján egy konzolos alkalmazás működik.