C# – język programowania opracowany w 2000 roku przez Microsoft. Jego twórcami są miedzy innymi: Anders Hejlsberg, Scott Wiltamuth oraz Peter Golde. W założeniu miał on być nowoczesnym, przyjaznym użytkownikowi językiem programowania, który byłby łatwy do nauki oraz wspierał pracę programisty poprzez automatyczne zarządzanie pamięcią oraz silne typowanie, zapewniające bezpieczeństwo typów.
Język ten gwałtownie zyskał popularność w branży informatycznej, a powodami tego był przede wszystkim fakt, iż Microsoft udostępnił narzędzia niezbędne do jego tworzenia i rozwijania. C# został także niesamowicie popularny na platformie .NET, co zwiększyło jego znaczenie jako języka programowania.
W kolejnych latach, C# stał się jednym z najczęściej wykorzystywanych języków programowania na świecie, co pozwoliło na jego stały rozwój i modyfikacje w zależności od potrzeb społeczności programistycznej. Dzisiaj C# jest jednym z najważniejszych języków w ekosystemie Microsoft i wykorzystywany jest w szerokim zakresie aplikacji, od gier mobilnych po bardzo złożone aplikacje korporacyjne.
C# - pierwsze kroki
Instalacja środowiska
Pierwszym krokiem, który należy wykonać przed rozpoczęciem pracy z C# jest zainstalowanie środowiska programistycznego dostarczającego wszystkie niezbędne komponenty, takie jak biblioteki oraz narzędzia do pisania kodu. Najbardziej popularnymi narzędziami do tworzenia systemu z wykorzystaniem języka C# są:
- Visual Studio – kompleksowe środowisko programistyczne stworzone przez firmę Microsoft. Oferuje ono szeroki zakres narzędzi i funkcjonalności, które umożliwiają programistom tworzenie aplikacji dla systemów Windows, Android, iOS, a także dla platformy internetowej.
- Visual Studio Code – darmowy, otwarto-źródłowy edytor kodu stworzony przez firmę Microsoft. Jest to bardzo popularne narzędzie wykorzystywane przez programistów na całym świecie. Visual Studio Code oferuje wiele przydatnych funkcji, takich jak podświetlanie składni, auto uzupełnianie kodu, wtyczki rozbudowujące jego funkcjonalność oraz integrację z systemem kontroli wersji, takim jak Git. Dzięki temu jest idealnym narzędziem dla początkujących, jak i doświadczonych programistów.
- Rider – wieloplatformowe zintegrowane środowisko programistyczne (IDE) opracowane przez JetBrains. Jest ono specjalnie zaprojektowane do tworzenia aplikacji .NET, w tym aplikacji ASP.NET, .NET Core i Xamarin.
Visual Studio
Visual Studio pozwala na pisanie kodu w różnych językach programowania, takich jak C#, C++, Visual Basic, F# czy JavaScript. Środowisko to oferuje również szereg narzędzi i usług deweloperskich, takich jak debugger, integrację z systemem kontroli wersji, testowanie i automatyzację budowania aplikacji.
Dzięki wielu zaawansowanym funkcjom i narzędziom, Visual Studio ułatwia proces tworzenia aplikacji, a także usprawnia pracę zespołową programistów. Jest to niezbędne narzędzie dla osób zajmujących się programowaniem w różnych dziedzinach.
Instalacja Visual Studio Community jest prosta i składa się z kilku kroków. Pierwszym krokiem jest pobranie pliku instalacyjnego ze strony internetowej Microsoftu, który jest dostępny pod tym adresem: https://visualstudio.microsoft.com/pl/.
Następnie należy uruchomić pobrany plik instalacyjny i wybrać wersję Visual Studio, która ma zostać zainstalowana. Na początek dobrym wyborem będzie Visual Studio w wersji Community.
Podczas instalacji zostanie wyświetlony kreator konfiguracji, który pozwoli na wybranie komponentów, które chcemy zainstalować. Można wybrać różne języki programowania, narzędzia do tworzenia interfejsów graficznych, narzędzia do debugowania i testowania oraz wiele innych. Na początek polecam jednak wybrać 2 podstawowe pakiety:
- Opracowywanie zawartości dla platformy ASP.NET
- Programowanie aplikacji klasycznych dla platformy .Net
C# – Pierwsza aplikacja
W kolejnym kroku będziesz musiał podać nazwę projektu, możesz podać dowolną. Polecam jednak na początek użyć nazwy HelloWorld. Ostatnim krokiem jest wybór wersji .Neta za pomocą, której projekt powinien zostać utworzony. Polecam wybrać tutaj wersję .Net 6/7/8 oraz zaznaczyć opcję Nie używaj instrukcji najwyższego poziomu.
Po kliknięciu przycisku utwórz w Visual Studio powinien zostać stworzony nowy projekt o podanej nazwie oraz powinno zostać wyświetlone okno solution explorera, w którym będzie można podejrzeć zawartość projektu.
Progam.cs
Zwróćmy uwagę na plik o nazwie Program.cs. Jest to domyślnie generowany plik, który zawiera punkt wejścia do aplikacji. Pliki źródłowe języka C# charakteryzują się końcówką .cs, dzięki temu patrząc na samą nazwę pliku można stwierdzić, iż zawiera on kod C#. Przyjrzymy się teraz zawartości tego pliku:
Powyższy plik definiuje wewnętrzną klasę Program, zawierającą tylko jedną statyczną metodę Main. Każdy program powinien zawierać statyczną metodę Main, ponieważ jest to punkt wejścia do programu. Środowisko uruchomieniowe platformy .Net podczas startu szuka i uruchamia właśnie tą metodę. Metoda ta przyjmuje argument o nazwie args, który pozwala na przekazanie wartości startowych do programu.
Ciało metody Main składa się tylko i wyłączone z polecenia Console.WriteLine(“Hello, World!”);, która odpowiada za wypisanie na ekranie konsoli napisu: Hello, World!
C# – przestrzenie nazw
Jak możesz zauważyć, kod w klasie Program.cs zaczyna się od słowa kluczowego namespace. Namespace w C# to mechanizm umożliwiający grupowanie klasy, struktur, interfejsów, delegat itp. w logiczne grupy. Pozwala na lepszy organizację kodu, poprawia jego czytelność oraz ułatwia uniknięcie konfliktów nazw. Chociaż nie jest to wymagane, twórcy aplikacji powinni umieszczać wszystkie swoje klasy w namespace, aby uniknąć konfliktów nazw z klasami z innych bibliotek.
Przestrzeń nazw jest definiowana dzięki słowa kluczowego “namespace” przed deklaracją klasy lub innej struktury danych. Możliwe jest również umieszczanie kilku namespace’ów w jednym pliku, jednak ogólnie zaleca się, aby każdy namespace znajdował się w osobnym pliku.
Aby skorzystać z klasy lub innej struktury danych w innym namespace, należy użyć pełnej nazwy, która składa się z nazwy namespace’a i nazwy klasy/struktury (np. namespace1.namespace2.Klasa).