Archiwa tagu: c#

C# snippety (ang. snippets)

C# Snippety (ang. snippets)

Ktoś kiedyś żartobliwie powiedział, że leniwi programiści napędzają ewoluowanie języków programowania. Dlaczego leniwi? – ktoś spyta. Otóż leniwy programista zawsze szuka sposobu dzięki któremu zrobi co ma zrobić ale żeby się nie narobić. Może to pchnęło programistów do utworzenia snippetów. Snippet służy programiście do przyspieszenia pisania kodu np. zamiast napisać Console.WriteLine(); możemy użyć snippetu i wpisać cw i dwukrotnie wcisnąć klawisz tab, nagle nasz skrót (tekst) cw zamieni się w pełną instrukcję Console.WriteLine(); Poniżej lista snippetów języka C# w środowisku Visual Studio (aktualnie lista nie jest długa ale będzie uzupełniana na bieżąco).

Snippet Efekt końcowy
cw + 2xtab Console.WriteLine();
for + 2xtab

for (int i = 0; i < length; i++)
            {

            }

foreach + 2xtab

foreach (var item in collection)
            {

            }

if + 2xtab

if (true)
            {

            }

ctor

public Program ()
            {

            }

class

class MyClass
        {

        }

do

do
            {

            } while (true);

lista będzie na bieżąco uaktualniana


wróć do kategorii C#

C# konwersja int to string

C# konwersja int to string

W tym krótkim wpisie pokażę jak przekonwertować wartość zmiennej typu int na zmienną typu string.

Żeby pokazać jak to zrobić na początek stworzymy sobie zmienną x o typie int i przypiszemy jej wartość 1. Wtedy przekonwertujemy sobie jej wartość, dwoma metodami, na typ string i wyświetlimy obie (nowe zmienne) na ekranie, co prezentuje poniższy kod.  

Kod jest opisany więc myślę, że nie trzeba dodatkowo komentować tego do znajduje się na listingu powyżej.

 


C# instrukcja skoku GOTO

Instrukcja skoku GOTO

Kolejną instrukcją skoku jest GOTO. Za jej pomocą możemy skoczyć w odpowiednie miejsce w kodzie. Warunek jest jeden żeby program wiedział w które miejsc skoczyć musimy to miejsce oznaczyć etykietą. Instrukcja GOTO na pierwszy rzut oka wydaje się bardzo przydatna ale przestrzegam przed jej nadużywaniem, analiza kodu gdzie często używamy instrukcji GOTO jest mordęgą.

Zadanie
    Wykonaj 10 razy pewien kod w pętli (podzielony na dwie części). Przy piątym przebiegu pętli pomiń pierwszą część kodu.

Do rozwiązania tego zadania wykorzystam pętlę FOREACH i instrukcję GOTO. Kod poniżej.


Wynik uruchomienia naszego programu poniżej.

kurs csharp instrukcja skoku goto

Na zrzucie widać, że pętla wykonała się 10 razy. Zauważ że przy piątym wykonaniu się pętli wykonała się tylko druga część kodu. Właśnie taki efekt chcieliśmy uzyskać, że przy określonych parametrach (u nas wtedy kiedy i=5) wykona się tylko część naszego kodu.


C# instrukcja skoku CONTINUE

Instrukcja skoku CONTINUE

To kolejna instrukcja skoku. Tą instrukcję wykorzystujemy w sytuacji kiedy nie chemy wykonywać wszystkich instrukcji wewnątrz pętli i przejść do kolejnego przebiegu pętli.

Przykład zastosowania instrukcji CONTINUE w pętli FOREACH


Efekt uruchomienia programu na obrazku poniżej.

kurs c# csharp instrukcja skoku w pętli continue

Widzimy, że w ciągu liczb brakuje wartości 5. W momencie kiedy zmienna "i" miała wartość 5 program zakończył aktualny przebieg pętli i "przeskoczył" do kolejnego przebiegu ale generalnie nie zakończył działania pętli.


C# instrukcja skoku BREAK

Instrukcja skoku BREAK

Co to są instrukcje skoku w pętlach. Jak sama nazwa wskazuje instrukcje te pozwalają nam przenieść się (skoczyć) do innego miejsca w pętli. Mamy kilka takich instrukcji: BREAK, CONTINUE, GOTO, RETURN, THROW.

W tym wpisie zajmijny się instrukcją BREAK. Jeżeli posłużymy się ta instrukcją to "wyjdziemy" z pętli i już kolejne iteracje się nie wykonają.

Przykład zastosowania instrukcji BREAK w pętli FOREACH  


Wynik uruchomienia naszego programu poniżej.

kurs c# csharp instrukcja skoku w pętli break

Na zrzucie widać, że pętla wyświetliła tylko wartości od 1 do 4. W momencie kiedy zmienna "i" miała wartość 5 program wyszedł z pętli.

Wewnątrz pętli FOREACH zastosowałem instrukcję IF gdzie dałem warunek, że jeżeli "i" (czyli w naszym przypadku wartość kolejnego elementu w tablicy "liczby")  będzie równe 5 to program ma wyjść z pętli właśnie przez zastosowanie instrukcji BREAK.


C# pętla FOREACH

Pętla FOREACH

FOREACH jest pętlą która operuje na tablicach, łańcuchach oraz kolekcjach. W tej pętli nie musimy ustawiamy zmiennej która ma spełniać funkcję licznika i co jeden "obrót" pętli iterujemy jej wartość tylko odwołujemy się do konkretnego zbioru danych: tabeli, łańcucha, kolekcji, który ma odpowiednią ilość elementów i tyle razy pętla się wykona.

Składnia pętli FOREACH

foreach(typ identyfikator in wyrażenie)
    instrukcja / /jeżeli blok instrukcji, muszą być w nawiasach {}

wyjaśnienie:
typ – tutaj podajemy jakiego typu elementy znajdują się we wskazanym zbiorze
identyfikator – nazwa zmiennej (pamiętaj za każdym "przejściem" pętli ta nazwa jest dla kolejnego elementu zbioru)
wyrażenie – w tym miejscu wskazujemy zbiór danych np. tabelę, łańcuch, kolejcja (pamiętaj typ danych w zbiorze musi być taki sam jak podany w identyfikatorze lub musi się dać na niego przekonwertować)
instrukcja – tutaj wpisujemy instrukcję do wykonania przy każdym "przejściu" pętli (pamiętaj jeżeli jest to kilka instrukcji muszą się one znajdować w nawiasach {} )

Przykład zastosowania pętli FOREACH.
Wyświetl na ekranie ciąg liczb od 0 do 10.

Poniżej zrzut ekranu po uruchomieniu programu.

kurs c# csharp instrukcja pętla foreach

Aby zautomatyzować wprowadzanie struktury pętli FOREACH w kodzie należy napisać słówko FOREACH i kliknąc dwukrotnie przycisk TAB. Od razu powstanie nam odpowiednia struktura pętli.

Uwaga:
* Pamiętaj pętla FOREACH wykona się tyle razy ile elementów jest we wskazanym zbiorze. Jeżeli np. twoja tabela do której się odwołujesz ma 10 elementów to pętla FOREACH wykona się 10 razy.


C# pętla FOR

Pętla FOR

Instrukcja FOR to także pętla która wykonuje wewnętrzny kod określoną ilość razy (określamy to poprzed argumenty pętli).

Składnia pętli FOR

for(argument1 ; argument2 ; argument3)
    instrukcja // jeżeli blok instrukcji muszą być w nawiasach {}

wyjaśnienie:
argument1 – (zwany także inicjatorem) to instrukcja (lub grupa instrukcji) które określają jakby parametry początkowe pętli np. przypisują wartość do zmiennej która później będzie zwiększana i to za jej pomocą pętla będzie "wiedziała" ile razy wykonać kod wewnętrzny.
argument2 – tutaj należy wprowadzić wyrażenie (warunek logiczny). Spełnienie tego warunku skutkuje wykonaniem kodu.
argument3 – tzw. iteratory, tutaj musimy "powiedzieć" pętli jak mamy zamiar operować na zmiennych z argumentu1. Czyli np. czy będziemy je zwiększać, zmniejszać i o jaką wartość.

Przykład zastosowania pętli FOR.
Wyświetl na ekranie ciąg liczb od 0 do 10.

Poniżej zrzut ekranu prezentujący efekt uruchomienia programu.

kurs c# csharp instrukcja pętla for

Iterator (argument3) nie zawsze musi być zwiększany (lub zmniejszany) o 1. Może być o zadaną wartość.

Przykład zastosowania pętli FOR.
Wyświetl na ekranie ciąg liczb nieparzystych od 0 do 10.

Poniżej zrzut ekranu po uruchomieniu programu.

kurs c# csharp instrukcja pętla for


Aby zautomatyzować wprowadzanie struktury pętli FOR w kodzie należy napisać słówko FOR i kliknąc dwukrotnie przycisk TAB. Od razu powstanie nam odpowiednia struktura pętli FOR.

Uwaga:
* Pamiętaj o odpowiednio skonstruowanym warunku logicznym (argument2)
* Pamiętaj kod wewnątrz pętli się nie wykona jeśli nie będzie spełniony warunek logiczny.
* Patrząc na nasz przykład pamiętaj aby skorzystać z inkrementacji zmiennej x, ponieważ w innym przypadku nasza zmienna x nigdy nie osiągnęłaby wartości większej lub równej 11 a co za tym idzie pętla nigdy by się nie zatrzymała.
* Pamiętaj bez sprawdzenia warunku kod wewnątrz pętli WHILE nie wykona się ani razu.


C# pętla DO WHILE

Pętla DO WHILE

Pętla DO WHILE jest instrukcją iteracyjną. Wykorzystujemy ją w przypadku kiedy potrzebujemy ponownie wykonać jakąś instrukcję lub grupę instrukcji. Jest jednak mała różnica między pętlą WHILE i DO WHILE. Różnica jest taka, że pętla WHILE nie wykona się ani razu przed sprawdzeniem warunku zakończenia pętli a pętla DO WHILE za pierwszym razem wykona kod wewnątrz pętli bez tego sprawdzenia. Dopiero później sprawdza warunek zakończenia pętli i w zależności czy warunek będzie spełniony kod wewnątrz pętli wykona ponownie bądź nie. Pętla ta jest idealna jeżeli za pierwszym razem niezaleźnie od niczego chcemy wykonać kod wewnątrz a dopiero później sprawdzamy jakiś warunek. W pętli DO WHILE nie określamy zgóry ile iteracji ma zostać wykonanych to zależy od spełnienia warunku zakończenia pętli.

Składnia pętli DO WHILE

DO
instrukcja // lub instrukcje do wykonania, jeśli wiele instrukcji to w nawiasach {}
WHILE (warunek_zakończenia_pętli)

Przykład zastosowania pętli DO WHILE.
Wyświetl na ekranie ciąg liczb od 0 do 10.
 

Poniżej zrzut ekranu po uruchomieniu programu.

kurs c# csharp instrukcja pętla do while

Aby zautomatyzować wprowadzanie struktury pętli DO WHILE w kodzie należy napisać słówko DO i kliknąc dwukrotnie przycisk TAB. Od razu powstanie nam odpowiednia struktura pętli DO WHILE.

* Pamiętaj kod wewnątrz pętli DO WHILE wykona się jeden raz bez sprawdzenia warunku zakończenia pętli.
* Pamiętaj, skoro kod wykona się minimum jeden raz bez sprawdzania warunku zakończenia pętli to przy sprawdzaniu warunku zakończenia pętli zmienna x (patrz nasz przykład) będzie już większa o 1 (wykona się już inkrementacja).


C# pętla WHILE

Pętla WHILE

Instrukcja WHILE jest instrukcją iteracyjną. Wykorzystujemy ją w przypadku kiedy potrzebujemy ponownie wykonać jakąś instrukcję lub grupę instrukcji. WHILE jest pętlą, czyli wykonujemy instrukcje (lub grupę instrukcji) non stop aż do momentu spełnienia jakiegoś warunku który pozwoli nam "opóścić" pętlę (wyjść z pętli). W pętli WHILE nie określamy zgóry ile iteracji ma zostać wykonanych to zależy od spełnienia warunku zakończenia pętli.

Składnia pętli WHILE

WHILE (warunek_zakończenia_pętli)
instrukcja
//lub instrukcje do wykonania, jeśli wiele instrukcji to w nawiasach {}

Przykład zastosowania pętli WHILE.

Wyświetl na ekranie ciąg liczb od 0 do 10.

Poniżej zrzut ekranu po uruchomieniu ekranu.

kurs c# csharp instrukcja pętla while

  Aby zautomatyzować wprowadzanie struktury pętli WHILE w kodzie należy napisać słówko WHILE i kliknąc dwukrotnie przycisk TAB. Od razu powstanie nam odpowiednia struktura pętli WHILE.

Uwaga:

* Pamiętaj żebyś dobrał "warunek_zakończenia_pętli" w taki sposób aby w pewnym momencie była możliwość zakończenia pętli, w przeciwnym razie pętla będzie działała w nieskończoność co wpłynie na obciążenie procesora a w konsekwencji na zablokowanie programu bo program cały czas będzie się "poruszał" wewnątrz pętli.

* Pamiętaj na początku sprawdzany jest warunek zakończenia pętli dopiero później wykonywany jest kod wewnątrz pętli WHILE.

* Patrząc na nasz przykład pamiętaj aby skorzystać z inkrementacji zmiennej x, ponieważ w innym przypadku nasza zmienna x nigdy nie osiągnęłaby wartości większej lub równej 11 a co za tym idzie pętla nigdy by się nie zatrzymała.

* Pamiętaj bez sprawdzenia warunku kod wewnątrz pętli WHILE nie wykona się ani razu.


C# Obiekty

Obiekty

Obiekty to „byty programistyczne”, których typ opisują klasy. Skoro klasy opisują obiekty to każde wystąpienie obiektu jest instancją/wystąpieniem danej klasy. Idąc dalej, skoro obiekty są wystąpieniami klas (a pisałem już wcześniej, że klasy mogą coś opisywać, czyli przechowywać dane, lub coś robić, czyli zawierać jakiś kod wykonywalny) to analogicznie jak klasy obiekty mogą przechowywać dane (wartości) jak również wykonywać pewne akcje/operacje.

OK to po części teoretycznej część praktyczna.

Na początek stworzymy sobie klasę, która będzie nam opisywała obiekt typu pojazd.

public class Pojazd

{

int rocznik;

string marka;

string model;

string typNadwozia;

}

Spróbujmy teraz stworzyć obiekt o nazwie auto typu Pojazd. Następnie możemy zadeklarować referencję do naszego obiektu auto lub od razu utworzyć nasz obiekt.

Deklaracja obiektu (stworzenie referencji)

Pojazd auto;

Deklaracja obiektu oraz w drugim kroku utworzenie obiektu

Pojazd auto;

auto = new Pojazd();

 

Lub zawrzeć deklarację i utworzenie obiektu w jednym kroku.

Pojazd auto = new Pojazd();