TOC

This article has been localized into Polish by the community.

Pierwsze kroki:

Hello world - wyjaśniamy

W poprzednim rozdziale staraliśmy się wpisać tekst do konsoli w naszej pierwszej aplikacji C#. Aby zobaczyć rzeczywiste postępy, nie wdawaliśmy się w szczegóły dotyczące linii kodu, które wykorzystaliśmy. Ten rozdział jest wyjaśnieniem przykładowego kodu Hello world. Jak zapewne widzisz w kodzie, niektóre z linijek wyglądają znajomo, więc zbierzemy je z powrotem w grupy i dla każdej z nich napiszemy osobne wyjaśnienie. Zacznijmy od najprostszych i najkrótszych znaków w naszym kodzie, czyli { i }. Są one często określane jako nawiasy klamrowe i w C# oznaczają początek i koniec bloku logicznego w kodzie. Nawiasy klamrowe są używane w wielu innych językach, włączając w to C++, Javę, JavaScript itp. Jak widzisz w kodzie służą one do zwijania kodu w jedność. W dalszych przykładach, to do czego dokładnie służą stanie się dla ciebie jasne.

Zacznijmy od początku:

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

using jest słowem podkreślonym na niebiesko przez edytor. Słowo using importuje przestrzeń nazw (namespace), która jest zbiorem klas. Klasy dają nam jakąś funkcjonalność i kiedy współpracuje z zaawansowanym IDE (jak Visual Studio), zazwyczaj utworzy dla nas fragmenty trywialnego kodu. W tym wypadku, tworzy dla nas klasę i importuje przestrzeń nazw, którą oczekuje się, że będzie powszechnie stosowana. Widzimy w przykładzie powyżej, że importujemy 5 przestrzeni nazw, a każda zawiera mnóstwo użytecznych klas. Na przykład używamy klasy Console, która jest częścią przestrzeni nazw System.

Z drugiej strony, na razie nie używamy przestrzeni nazw System.Linq, więc jeżeli jesteś purystą, możesz usunąć tę linię i nie sprawi to dużej różnicy.

Jak możesz zobaczyć, mamy nawet swoją własną przestrzeń nazw:

namespace ConsoleApp1

Przestrzeń nazw ConsoleApp1 jest teraz głównym ogniwem naszej aplikacji i nowe klasy będą domyślnie jej częścią. Oczywiście, możesz to zmienić i stworzyć klasy w innej przestrzeni nazw. W tym wypadku, będziesz musiał zaimportować nową przestrzeń nazw, aby używać jej w aplikacji z wyrażeniem using.

Następnie, definiujemy naszą klasę. Odkąd C# jest językiem obiektowym (Object Oriented language), każda linijka kodu, która coś rzeczywiście robi, jest pakowana do naszej klasy. W tym wypadku, klasa jest nazwana Program:

class Program

Możemy mieć więcej klas, nawet w tym samym pliku. Na razie, potrzebujemy tylko jednej z nich. Klasa może zawierać kilka zmiennych, własności i metod - koncepcje, w które zagłębimy się potem. Na razie, wszystko co potrzebujesz wiedzieć, to że nasza klasa może zawierać jedną metodę i nic więcej. I tak to wygląda:

static void Main(string[] args)

Ta linia jest najprawdopodobniej najbardziej skomplikowaną w tym przykładzie, więc ją podzielmy na mniejsze kawałeczki. Pierwszym słowem jest static. Słowo to mówi nam, że metoda powinna być dostępna bez tworzenia instancji klasy, ale więcej o tym w następnych rozdziałach o klasach :)

Następnym słowem jest void, i mówi nam co metoda ma nam zwrócić. Na przykład, może to być liczba albo ciąg znaków. W tym wypadku, nie chcemy, aby nasza metoda cokolwiek zwracała (C# używa słowa void aby wyrazić koncepcję niczego).

Następnie mamy Main, co po prostu określa nazwę naszej metody. Ta metoda jest tzw. punktem wejścia naszej aplikacji, co oznacza pierwszy skrawek kodu do wykonania, a w naszym przykładzie - jedyny do wykonania.

Teraz, po nazwie metody, możemy użyć całej gamy argumentów. W naszym przykładzie, metoda wywołuje tylko jeden, zwany args. Typem tej zmiennej jest string (ciąg znaków), a dokładniej - tablica ciągów znaków, ale więcej o tym kiedy indziej. Jeśli się nad tym zastanowić, ma to sens, ponieważ aplikacje systemu Windows można zawsze wywoływać z opcjonalnym zbiorem argumentów. Te argumenty będą przekazywane jako ciągi znaków do naszej głównej metody.

I... to tyle. Możesz się teraz szczycić podstawami rozumienia naszej pierwszej aplikacji w C#, a także pojmowaniem zasad działania aplikacji konsolowej.