A Python és más szkriptnyelvek elÅ‘nye tanulás szempontjából, hogy mentesek a vizuális zajtól és a felesleges sallangoktól. Erre jó példa a helló világ program. Ez python és egy csomó más szkriptnyelv esetén csupáncsak egy sor, mÃg C# esetén olyan dolgokkal kell már az elején foglalkozni, mint a using utasÃtások, névterek, osztályok és a belépési pont.
Ez egy programozást éppen csak most tanulónak mind zaj és felesleges túlkomplikálás. Éppen ezért a C# 9 bevezette a top level statements-et, ami igazán a .NET 6 és az implicit usings segÃtségével teljesedett ki és lényegében a nyelv megtanulhatóságát segÃti elÅ‘ a vizuális zaj eltávolÃtásával.
EttÅ‘l függetlenül a háttérben ugyanaz a C# működik, mint eddig, csak a fordÃtó egy picit többet segÃt nekünk. Ha létrehozunk .NET 6 alatt egy új konzol projektet, akkor a létrejövÅ‘ Program.cs csupán két sort fog tartalmazni:
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
EbbÅ‘l egy sor az új template használatáról szóló dokumentációra egy link, a második sor pedig egy kiÃrás. Egy projekt csak egyetlenegy ilyen top level statement fájlt tartalmazhat és automatikusan ez lesz az alkalmazásunk belépési pontja, vagyis amit ebbe a fájlba Ãrunk úgy viselkedik és úgy is kerül fordÃtásra, mintha a Main() metódus belsejében dolgoznánk.
A programnak átadott argumentumokat aż args tömbön keresztül tudjuk elérni, illetve lehetÅ‘ségünk van await használatára is. A top level statement fájlunk tartalmazhat metódusokat is. Ebben az esetben ezek a metódusok lokálisak, vagyis olyanok, mint ha metóduson belül definiáltuk volna Å‘kat. EbbÅ‘l adódóan csak a top level statement fájlban érvényesek és onnan tudjuk Å‘ket meghÃvni.