Witaj w pierwszej lekcji z serii “Naucz się C# razem ze mną”.
Prowadzenie tego bloga regularnie ma zmusić mnie do pogłębiania wiedzy i pomóc mi (oraz mam nadzieję tobie) w nauce programowania - bo przecież najlepszym sposobem na naukę jest uczenie innych. Chciałbym więc, by było to miejsce gdzie znajdziesz skondensowaną i uporządkowaną treść. Wierzę, że tak będzie :). Zaczynajmy!
1.Czego potrzebujesz aby zacząć przygodę z programowaniem.
Do klikania kodu potrzebujemy IDE (z angielskiego Integrated Development Environment), czyli środowiska które zrozumie nasz kod i przy okazji go skompiluje. Kompilacja to proces tłumaczenia języka programowania na najczęściej kod maszynowy, czyli z kodu który rozumiemy my, na kod który rozumie komputer. Jeżeli nigdy nie miałeś z tym całym programowaniem styczności, to IDE jest najprościej mówiąc programem, który jest nam potrzebny do pisania kodu.
Jeżeli nigdy nie miałeś z tym całym programowaniem styczności, to IDE jest najprościej mówiąc programem, który jest nam potrzebny do pisania kodu.
Jakie więc IDE do C#?
- MonoDevelop (http://www.monodevelop.com/)
Oba darmowe, z tym, że pierwszy zadziała również na Linuxie, wybór należy do was:)Visual Studio Community (https://www.visualstudio.com/pl/vs/community/)
2.Pierwszy program, czyli Hello World.
Jeśli masz już zainstalowane IDE, to czas na podbój świata IT.
Tworzymy nowy projekt, naszym oczom ukazuje się okienko, wybieramy z listy aplikację konsolową.
Klikamy OK i pojawia się prosty kod, rzućmy więc na to okiem i spróbujmy rozszyfrować linijka po linijce:
1. Dyrektywa using - importuje przestrzeń nazw w której znajdują się metody lub typy z których zamierzamy skorzystać, a dzięki temu nie musimy pisać przed każdym typem i/lub metodą nazwy tejże przestrzeni nazw. uff… :D. Jeżeli nigdy nie programowałeś i te wszystkie terminy brzmią w twoim odczuciu co najmniej dziwnie - nie przejmuj się. Początki bywają trudne, ale wszystko będziemy rozbijać na części pierwsze w kolejnych lekcjach. Teraz zapamiętaj, że dyrektywa to taka instrukcja, a sama dyrektywa using to instrukcja, która mówi naszemu IDE "od teraz będziemy używać takich i takich przestrzeni nazw". Po co nam to? Ano, w innych przestrzeniach nazw - (ang. namespace) znajdują się przydatne rzeczy, takie jak np. metody które wykonują jakieś konkretne zadania i mogą ułatwiać nam osiągnięcie zamierzonego efektu (np w przestrzeni nazw System, jest metoda Console.WriteLine() która pozwala nam wypisać coś na ekran), i gdybyśmy nie użyli dyrektywy using na początku naszego kodu i chcieli skorzystać z czegoś co jest w nieuwzględnionej przestrzeni nazw, to przed każdą taką metodą musielibyśmy pisać dodatkowo nazwę przestrzeni nazw z której pochodzi ta metoda. Przykład:
using System;
void Main()
{
Console.WriteLine("Jakiś tekst który zostanie wypisany na ekranie");
}
A teraz bez dyrektywy using:
void Main()
{
System.Console.WriteLine("Działam tak samo, ale kod wyżej jest fajniejszy");
}
Jeśli dalej jest to dla Ciebie czarna magia, to na pocieszenie mogę powiedzieć, że na początku i tak nie będziemy używać tego całego using, bo w stworzonym przez nas nowym projekcie, w kodzie który dostajemy na początek zawsze są już uwzględnione te najważniejsze przestrzenie nazw. A jeśli będziemy w przyszłości korzystać z using, to Ci o tym powiem :).
2. Utworzenie nowej przestrzeni nazw - w takiej przestrzeni nazw możemy umieścić klasę, a czym jest klasa?
3.Klasa, jak sama nazwa wskazuje coś klasyfikuje. O klasie można myśleć jako o szablonie dzięki któremu można stworzyć jakiś obiekt. O klasach i obiektach pouczymy się więcej już wkrótce.
4.Tutaj mamy metodę. Metodę tworzymy wewnątrz klasy (pomiędzy klamerkami), służy ona do wykonywania zdefiniowanego przez nas zadania. Wygląda to tak:
modyfikator_dostępu typ_zwracany Nazwa_Metody(typ nazwa)
{
//Tutaj jest tzw ciało metody (pomiędzy klamerkami) i tu wydajemy rozkazy
return zwracana_wartość; /* tutaj zwracamy wartość (w zależności od tego,
jaki typ zwraca nasza metoda) */
}
W naszym pustym programie mamy statyczną metodę o nazwie Main która zwraca void (czyli nic), i przyjmuje za argumenty tablicę typu string.
Metodom również przyjrzymy się z bliska już niedługo i przy tej okazji weźmiemy pod lupę te wszystkie modyfikatory dostępu i inne trudne terminy.
Tymczasem napiszmy programik który się ładnie przywita.
W ciele metody Main piszemy (czyli między klamerkami pod Main):
Console.WriteLine(“Hello World!”);
Oznacza to mniej więcej tyle, że prosimy naszą konsolę aby wypisała nam na ekran to, co zechcemy. Nie zapomnij o średniku na samym końcu, dzięki niemu kompilator wie, kiedy ma przejść do interpretowania kolejnej linii kodu.
Klikamy F5 i naszym oczom ukazuje się:
Nic. Okienko z naszym programem zniknęło szybciej niż się pojawiło.
Dlaczego? A dlatego, że nie rozkazaliśmy naszemu programowi aby na nas zaczekał, więc zrobił co miał zrobić i się wyłączył. Jak to zmienić? Dopisujemy pod Console.WriteLine(“Hello World”);
linijkę
Console.ReadLine();
I od teraz nasz program wyłączy się dopiero wtedy, gdy klikniemy jakiś przycisk na klawiaturze.
Skrinek:
Gratuluję, napisaliśmy właśnie pierwszy program w C#.
Niebawem kolejna lekcja, trzymaj się cieplutko.
No i napisz w komentarzu jak mi idzie bycie nauczycielem, będę wdzięczny za każdą opinię :)
Ja jestem przeciętny ludź, i poważnie, nie ogarniam. Ale czekam na następny post.
Postaram się przebudować ten artykuł i wytłumaczyć więcej i lepiej, a podczas pisania następnych będę miał z tyłu głowy twój komentarz, za który swoją drogą dziękuję bo jest to konkretna informacja zwrotna dla mnie i dzięki temu mogę coś poprawić. Zapraszam więc za niedługo, postaram się, żeby było lepiej :) !
Będę obserwował, chciałbym się nauczyć, ale to nie będzie chyba takie proste. Jestem osobą która od niedawna bawi się w krypto i już zainstalowanie portfela było ciężkie, a co dopiero jakiś program. Ale czekam może coś załapię, jeśli nie ja to z pewnością ktoś inny, na pewno Twoje posty będą wartościowe.
Post jest już poprawiony, powinno być odrobinę lepiej :) Prawdopodobnie jeszcze dziś pojawi się kolejna lekcja.
Mnie by interesowało jak zrobić własny pool mam koparkę a chciał bym sam kopać nie w grupie. Umiesz to zrobić?
Niestety, jeśli chodzi o kwestie z kopaniem to nie mam o tym bladego pojęcia.
Szkoda.
zapowiada się fajna seria :)
Dobrze, że egzamniu z tego nie będzie :( Dla mnie za dużo skrótów myślowych takich typowo informatycznych. Ale ja komputera generalnie nie ogarniam. Ale powodzenia życzę.
Dzięki za komentarz. Edytowałem post i dodałem trochę treści, powinno być teraz odrobinę łatwiej to wszystko zrozumieć :)
Napiszę to samo, co w innym tekście:
Wezmę rady do serca :D dzięki za komentarz!
Dzięki :D. Co dokładnie masz na myśli mówiąc, że przeciętny ludź nie będzie ogarniał?
czaję, czaję :D być może masz rację, ale chcę zrobić te podstawy w całości i przejść do unity, być może grupa odbiorców na postach o unity będzie jeszcze mniejsza, ale póki co fajnie mi się pisze te posty i mam fun :D