Piszemy swój pierwszy program

W tej części, poznasz strukturę prostego kodu programu napisanego w C#. Przetestujesz przy tym poprawność instalacji twojego IDE 😉

Tworzymy nowy projekt

W tym celu uruchom swoją instalację Visual Studio, po czym wybierz opcję „File” -> „New” -> „Project”. Po wykonaniu tej operacji, twoim oczom powinno ukazać się takie oto okno:

newProject

Wybieramy z listy szablonów „Console Application” (okienkowymi zajmiemy się znacznie później ;)). Następnie wpisujemy nazwę naszego programu np. „HelloWorld”, po czym wszystko zatwierdzamy przyciskiem OK. Po chwili powinniśmy ujrzeć taki oto kod:

Zedytuj kod do takiej postaci(pozostawiając using’i!):

Następnie wciśnij przycisk F5. Jeżeli twoim oczom ukaże się okno konsoli z napisem „Hello world!”, znaczy to, że poprawnie zainstalowałeś swoje IDE i możesz przystąpić do pracy 😉

No dobrze… ale co oznaczają poszczególne linijki?

Pozwól, że skupię się teraz głównie na wnętrzu funkcji Main, a całej otoczce poświęcę trochę mniej czasu, bo dokładniejsze opisywanie tego zajmie trochę czasu, ale spokojnie poświęcę temu inny wpis 😉

Przejdźmy więc do rzeczy. To co widzisz na samej górze czyli linijki typu using System; są to tzw. przestrzenie nazw, w których znajdują się klasy i metody. Gdyby ich nie było, nasz kod wewnątrz funkcji Main, wyglądałby tak:

Natomiast użycie using’a sprawia, że kompilator wie gdzie ma szukać klasy Console, która jest nam potrzebna do wyświetlenia informacji na ekranie.

Idąc dalej, dochodzimy do linijki class Program i zamkniętej klamry, jest to po prostu obszar, który zajmuje klasa o nazwie Program. Tyle wiedzy na razie Ci wystarczy 😉 Czym są klasy i obiektowość, napiszę później.

Idąc dalej w głąb zagnieżdżonych klamr, dochodzimy do linijki static void Main(string[] args), oraz kolejnych klamr, które obejmują wszystko co się w niej znajduje. Jest to tzw. funkcja.

Czym są funkcje?

W programowaniu funkcja, to część programu, która jest odpowiedzialna za (jak sama nazwa wskazuje) wykonanie jakiejś funkcji/polecenia. Funkcje mogą przyjmować dowolną ilość argumentów, np tekst, liczby itp, oraz zwracać wartości. Jak to działa? Przykładowo: funkcja przyjmuje jako argument liczbę 2 i 1, a zwraca wynik 3. Nic więcej, nic mniej. Proste prawda? Przy czym funkcja, która zwraca wartość liczbową musi być typu int(lub innego, który przechowuje liczby, bo to co zwraca to nic innego jak zmienna). W naszym programie funkcja jest typu void – oznacza to, że nie zwraca żadnych wartości. Do tego jest to funkcja Main, funkcja nazwana Main zawsze będzie funkcją, od której zacznie wykonywać się kod naszego programu.

W tym momencie zostały nam do wyjaśnienia dwie ostatnie linijki programu, czyli:

System.Console.WriteLine(„Hello world!”);
System.Console.ReadKey();

Jak już zapewne zdążyłeś się domyślić, odpowiadają one (kolejno), za wyświetlenie wiadomości na ekranie, oraz za oczekiwanie na odczytanie wciśniętego klawisza.

Warto tutaj nadmienić, że obydwie linijki to właśnie funkcje, które po prostu wywołujesz, przy czym pierwsza przyjmuje argument 😉

Czym są te całe zmienne?

Ahh… Właśnie, pisałem kawałek wcześniej o zmiennych, a nie wyjaśniłem co to. Już naprawiam swój błąd 🙂

Zmienna to jedna z najbardziej podstawowych rzeczy, których będziesz używać programując. Zmienne służą do przechowywania danych, wszelkiego rodzaju. Operowania na nich, odczytywania, przeszukiwania, zmieniania etc… W każdym języku programowania spotykamy się ze zmiennymi, trzeba przy tym zaznaczyć, że zmienne w C# dzielą się na różne typy:

int – przyjmuje liczby całkowite z zakresu [-2.147.483.648 – 2.147.483.647]
long – przyjmuje liczby całkowite z zakresu [–9,223,372,036,854,775,808 to 9,223,372,036,854,775,807]
ulong – przyjmuje liczby całkowite z zakresu [0 – 18,446,744,073,709,551,615]
short – liczby całkowite [-32,768 to 32,767]
ushort – liczby całkowite [0 to 65,535]
double – przyjmuje liczby zmiennoprzecinkowe podwójnej precyzji, przyjmuje [±1,5 * 10(-324) – ±3,4 * 10(308)]
float– przyjmuje liczb zmiennoprzecinkowe, jest pojedyczej precyzji, przyjmuje w zakresie : [+-1,5 * 10(-45) – +-3,4 * 10(38)
string – przyjmuje ciągi znaków Unicode.
char – przyjmuje pojedynczy znak Unicode
byte – wartości od 0 do 255
sbyte –  wartości od -128 do 127

Jak widać, w zależności od tego na jakich danych chcemy operować, będziemy musieli używać różnych zmiennych. Na przykład, pobierając od użytkownika ciąg znaków użyjemy zmiennej string, a chcąc pobrać jakąś liczbę całkowitą, użyjemy zmiennej int. Dzięki temu, że dane zostaną pobrane do zmiennej, będziemy mogli na nich operować. Przykład? Przyjmijmy, że program pobierze od użytkownika dwie liczby, doda je do siebie, po czym wyświetli wynik. Właśnie do tego z grubsza służą zmienne. Trzeba też zaznaczyć, że zmiennych w naszym kodzie możemy mieć w zasadzie tyle… ile potrzebujemy. Więc jak je rozróżniać? Każdą zmienną deklaruje się w sposób „typ nazwa”. Na przykład „int liczba1”.

A jak wyglądałby program spełniający to założenie? Dokładnie tak:

Kolejno: Program prosi użytkownika o wpisanie dwóch liczb, przypisuje je do zmiennych, po czym wyświetla wynik.

Na wyjaśnienie zasługuje tutaj funkcja Convert.ToInt32();
Służy ona do konwersji zmiennej innego typu, na zmienną typu int .
Dlaczego została ona tutaj użyta? Dlatego, że domyślnie funkcja Console.ReadLine(); zwraca tekst wpisany w konsoli przez użytkownika, który jest typu string, a dodawać można tylko liczby, które są właśnie typu int.

Podsumowanie

Właśnie, jakieś się przyda. Mam nadzieję, że w miarę jasno wyjaśniłem chociaż część podstaw programowania w C#. Jeżeli nie, to proszę o wybaczenie to jeden z moich pierwszych wpisów, więc do perfekcji na pewno wiele mi brakuje. Jednak spróbujmy, podsumować najważniejsze informacje z tego wpisu:

  1. Program zawsze wykonuje się linijka po linijce(przynajmniej, dopóki nie zajmiemy się wątkami).
  2. Program w C# składa się z przestrzeni nazw (namespace), klas i funkcji.
  3. Zmienna to konstrukcja, pozwalająca na przechowywanie danych, ich modyfikację, oraz operowanie na nich.

206 total views, 1 views today