1Az egysoros program — szavanként
Hozz létre egy új Console App projektet (A5), és nézd meg a
Program.cs-t:
Console.WriteLine("Hello, World!");
Ez egyetlen utasítás (statement) — egy parancs a gépnek. Szedjük szét:
| Rész | Mi ez? | Mit csinál? |
Console | osztály a BCL-ből (A3!) | a konzolt képviseli a programban |
. | tagelérés | „a Console-nak ezt a képességét kérem” |
WriteLine | metódus | kiír egy sort a konzolra, és a végén új sort kezd |
("Hello, World!") | argumentum zárójelben | ezt az értéket adjuk át a metódusnak: ezt írja ki |
"Hello, World!" | string literál | idézőjelek közötti szöveg — az idézőjel nem íródik ki |
; | utasítás lezárása | itt a parancs vége |
ℹ️ MINDEN OBJEKTUM (folytatás)
Már az első sorodban egy osztály (Console) metódusát
(WriteLine) hívod. C#-ban nem lehet „csak úgy a levegőbe”
kódot írni: minden képesség valamelyik osztályhoz tartozik.
Mi történik futtatáskor?
Ctrl+F5 → a Visual Studio elmenti a fájlt → a Roslyn IL-re
fordítja (A3) → a bin mappába kerül a program (A4) →
a CLR elindítja → a konzolon megjelenik: Hello, World! —
Itt láthatod az egész folyamatot, amit az előző fejezetekben leírtunk..
2Több utasítás, Write és WriteLine, megjegyzések
A program utasítások sorozata — felülről lefelé, sorban hajtódnak végre:
Console.WriteLine("Első sor");
Console.WriteLine("Második sor");
Console.WriteLine(); // üres sor — argumentum nélkül
Console.Write("Ez ");
Console.Write("egy ");
Console.WriteLine("sorba kerül.");
Kimenet:
Első sor
Második sor
Ez egy sorba kerül.
WriteLine = kiír + a végén
új sort kezd;
Write = kiír, de a kurzor
a sor végén marad — a következő kiírás folytatja;
WriteLine() argumentum nélkül =
csak egy üres sor.
Megjegyzések
A megjegyzést (comment) a fordító teljesen figyelmen kívül hagyja —
az embernek szól:
// Ez egysoros megjegyzés — a sor végéig tart.
Console.WriteLine("Ez lefut"); // utasítás után is állhat
// Console.WriteLine("Ez viszont NEM fut le — megjegyzésbe tettük");
/* Ez pedig többsoros megjegyzés:
addig tart, amíg le nem zárjuk. */
💡 TIPP
Az A5-ből ismert Ctrl+K, Ctrl+C
billentyűkombináció pont ezt csinálja: a kijelölt sorokat megjegyzésbe teszi.
Kód „ideiglenes kikapcsolására” is ez a bevett módszer.
3Hova tűnt a Main? — top-level és a klasszikus forma
Ha programoztál már máshol, vagy régebbi C#-könyvet láttál, feltűnhetett: a mi
programunkban nincs se osztály, se Main metódus.
Régen ugyanez a program így nézett ki — és ma is írható így:
namespace ElsoProgram
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
}
A Main a program belépési
pontja (entry point): a CLR ezt a metódust keresi meg és indítja el.
Egy programban pontosan egy belépési pont lehet.
A top-level statements (C# 9 óta — A2!) ezt a „körítést” elrejti:
a fordító a háttérben ma is legenerálja a
Program osztályt és a Main
metódust, és a te soraidat teszi bele:
Amit te írsz
Console.WriteLine("Szia");
Amit a fordító csinál belőle
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Szia");
}
}
Nem két nyelv — egy nyelv, két írásmód. A top-level rövidebb és
kezdésnek barátságosabb, ezért az I. félévben ezt használjuk. A klasszikus formát
akkor vesszük elő, amikor a static és az osztályok
világát tanuljuk (D4, majd H blokk) — akkor minden szava érthető lesz.
ℹ️ JÓ TUDNI
Top-level utasításokat csak egyetlen fájlba írhatsz a projektben
(különben a fordító nem tudná, mi a belépési pont — CS8802 hiba). A többi fájlba
osztályok kerülnek majd.