3. Podstawy – Komentarze, zmienne, typy zmiennych, deklaracja, inicjalizacja

3. Podstawy – Komentarze, zmienne, typy zmiennych, deklaracja, inicjalizacja
14 kwietnia 2022 Brak komentarzy C#, Poradnik Tajko

W tym nagraniu pokazuję jak zakomentować linię lub fragment kodu normalnie jak i przy pomocy skrótów klawiszowych. Pokazanie wielu przydanych skrótów klawiszowych, które ułatwią życie i zabawę w Visualce. Dodatkowo powiem o tym jakie typy danych jak i zmiennych występują w C#, ile zajmują pamięci oraz jak je zadeklarować i zainicjalizować. Na koniec pokaże jak tworzyć regiony w kodzie, które przydadzą się do ładnego tzw. Grupowania kodu?. To wszystko możecie obejrzeć w nagraniu. Tutaj postaram się pokazać to słownie

Punkty w nagraniu:
  1. Komentarze
  2. Przydatne skróty klawiszowe
  3. Typy danych
    1. Typy wartościowe (Stos)
      1. Typy proste
        1. Całkowite
        2. Zmiennoprzecinkowe
        3. Znakowy
        4. Logiczny
      2. Typy wyliczeniowy
      3. Typy strukturalne
      4. Typy puste
    1. Typy referencyjne (Sterta)
      1. Typy klas
      2. Typy interfejsów
      3. Typy tablicowe
      4. Typy delegatów
  4. Predefiniowane typy zmiennych
  5. Deklaracja i inicjalizacja zmiennych
    1. Deklaracja
    2. Inicjalizacja
    3. Deklaracja z inicjalizacją
  6. Regiony
    1. Bez nazwy
    2. Z nazwą

Projekt do pobrania: Link


1. Komentarze

Czasami jest taka potrzeba żeby w kodzie dodać jakiś komentarz dla siebie lub dla innych programistów, jakaś podpowiedź lub chwilowe za komentowanie kodu ‘bo coś tam’. Można to zrobić na różne sposoby

// string _name;
// int _age;

Klasycznie zakomentowany kod przy pomocy podwójnego znaku /

Dodatkowo można kod za komentować przy pomocy skrótu klawiszowego CTRL + K, CTRL + C i od komentować przy pomocy
CTRL + K, CTRL + U

/* 
string _name;
int _age;
*/

Drugim sposobem zakomentowania kodu jest skorzystanie ze znaku / i *. W miejscu w którym chcemy rozpocząć za komentowanie danego fragmentu kodu wstawiamy /* i kończymy w miejscu w którym chcemy zakończyć dodając */

Można jeszcze skorzystać z paska narzędzi w górnym panelu okna. Pierwsza ikona odpowiada za zakomentowanie kodu, a druga za od komentowanie kodu. Jeśli nie widzicie tych ikon to włączyć je można w

Widok ► Paski narzędzi ► Edytor Tekstu


2. Przydatne skróty klawiszowe

W tabelce przedstawiłem przydatne skróty klawiszowe z których w większości sam korzystam.

Skróty klawiszoweOpis
TabDodaje tabulator (wolną przestrzeń)
SHIFT + Tab Kasuje dodany tabulator
CTRL + SHIFT + ◄► (do wyboru)Zaznacza kod całymi słowami
SHIFT + ▲▼ (do wyboru)Zaznacza cały wiersz nad/pod
Lewy ALT + ▲▼ (do wyboru)Przenosi zaznaczony kod lub linię kodu wiersz wyżej lub niżej
CTRL + K, CTRL + CZamienia zaznaczone linie w komentarz
CTRL + K, CTRL + UUsuwa komentarz z zaznaczonych linii
CTRL + K, CTRL + DFormatuje kod w całym dokumencie
CTRL + K, CTRL + FFormatuje zaznaczony kod
CTRL + DKlonuje zaznaczony kod
CTRL + CKopiuje zaznaczony kod
CTRL + XWycina zaznaczony kod
CTRL + VWkleja zaznaczony kod (to co jest aktualnie w schowku
CTRL + ZCofa wprowadzoną zmianę w kodzie
CTRL + YPrzywraca wprowadzoną zmianę w kodzie

3. Zmienne?

Zmienna to nic innego jak pewien obszar pamięci wirtualnej komputera do której przypisujemy jakąś wartość. Jeśli chodzi o C# to każda zmienna ma określony typ, gdzie każdy typ określa wartością jaką może przechowywać i co za tym idzie ile pamięci będzie zajmować. Dla przykładu zmienna typu int, czyli liczba całkowita będzie mogła przechowywać wartości z zakresu -2 147 483 648 do 2 147 483 647 i będzie zajmowała 4 bajty pamięci. Każdy typ zmiennych może wykonywać konkretne operacje np. wspomniany int może wykonywać operacje arytmetyczne takie jak – + / * %.


4. Typy danych

Poniżej przedstawiłem diagram w którym widzimy rozdzielenie typów danych na dwie duże grupy.

  1. Typy wartościowe – tutaj wskakują wszelkie zmienne oraz argumenty przekazane do funkcji. Przechowywane są w pamięci do momentu wyjścia z metody lub po za klamrę. Dla przykładu, tworzymy zmienne wewnątrz metody to będą one przechowane w pamięci aż do momentu wyjścia z metody. Dodatkowo warto powiedzieć, że zmienne, które znajdują się w typach wartościowych lądują na Stosie.
  2. Typy referencyjne – do tej grupy zaliczyć można klasy, instancje klas, interfejsy, delegaty, tablice. Elementy znajdujące się w typach referencyjnych lądują na Stercie

Czym jest Stos i Sterta omówię w późniejszych materiałach, dodam tylko, że nie należy ich mylić ze strukturami do przechowywania danych. Powiem tylko tyle, że Stos i Sterta są częścią pamięci wirtualnej, która jest przydzielona aplikacji podczas uruchamiania, każda aplikacja ma osobne.

Typy danych w C#
Typy danych w C#

5. Predefiniowane typy zmiennych

W tabelce poniżej znajdują się predefiniowane typy zmiennych, które znaleźć można w C#. Dodałem także krótki opis, informację o tym ile pamięci zajmuje dana zmienna w bajtach itp.

Rodzaj (Alias)Typ .NETOpisRozmiar w bajtachZakresPrzyrostek
byteSystem.Byte8-bitaowa liczba całkowita bez znaku10 do 255
sbyteSystem.SByte8-bitowa liczba całkowita ze znakiem1-128 do 127
shortSystem.Int1616-bitowa liczba całkowita ze znakiem2-32 768 do 32 767
ushortSystem.UInt1616-bitowa liczba całkowita bez znaku20 do 65 535
intSystem.Int3232-bitowa liczba całkowita ze znakiem4-2 147 483 648 do 2 147 483 647
uintSystem.UInt3232-bitowa liczba całkowita bez znaku40 do 4 294 967 295u
longSystem.Int6464-bitowa liczba całkowita ze znakiem8-9 223 372 036 854 775 808 do 9 223 372 036 854 775 807l (l jak Lena)
ulongSystem.UInt6464-bitowa liczba całkowita bez znaku80 do 18 446 744 073 709 551 615ul
floatSystem.Single32-bitowa liczba zmiennoprzecinkowa o pojedynczej precyzji4-3.402823e38 do 3.402823e38f
doubleSystem.Double64-bitowa liczba zmiennoprzecinkowa o podwójnej precyzji8-1.79769313486232e308 do 1.797693134862323e308d
decimalSystem.Decimal128-bitowa liczba zmiennoprzecinkowa używana do obliczeń finansowych i pieniężnych16,384(+ lub -) 1,0 x 10e-28 do 7,9 x 10e28m
charSystem.Char16-bitowy pojedynczy znak Unicode2Dowolny znak np. a, ", \x0045 (hex) lub \u0059 (Unicode)
boolSystem.Boolean8-bitowa logiczna wartość true/false1True/False, czyli prawda lub fałsz
objectSystem.Object4-bitowy podstawowy typ wszystkich innych typów
stringSystem.StringCiąg znaków Unicode
DateTimeSystem.DateTime8-bitowy typ, który przedstawia datę i godzinę0:00:00 01.01.2001 do 23:59:59 31.12.9999

6. Deklaracja i inicjalizacja zmiennych

Deklarację zmiennych zaczynamy od podania typu zmiennej potem jej nazwy kończąc średnikiem

typZmiennej nazwa;

string _name;
string _lastName;
int _age;

Można też zadeklarować parę zmiennych tego samego typu obok obok siebie bez potrzeby przechodzenia do nowej linii

string _name, _lastName;
int _age, _level;

Skoro mamy już zadeklarowane zmienne to teraz wypadało je zainicjalizować, czyli przypisać im wartości

_name = "Tajko"; // czyli odwołanie się do zmiennej i przypisanie jej wartości konkretnego typu
_level = 666;

Patrząc na powyższe rozbijanie tworzenia z przypisaniem wartości na dwie części, lepiej by było zrobić wszystko za jednym zamachem, od razu zadeklarujemy i zainicjalizujemy sobie inne typy zmiennych

typZmiennej nazwa = wartość;

string _name = "Tajko";
int _age = 100;
bool _isReal = true;
char _specialChar = 'T';

7. Regiony

Region, a dokładniej #region i #endregion jest dyrektywą preprocesora w których możemy zamieścić kod, który zostanie później zwinięty co pozwoli nam w fajny sposób pogrupować kod.

#region
#endregion

Region bez nazwy

#region Fields
string _name = "Tajko";
#endregion Fields

Region z nadaną nazwą i zmienną w środku

Tagi
O Autorze
Tajko
Tajko Tajko z tej strony:) Obecnie pracuję we Wrocławiu przy projektach desktopowych. Skoro sam się czegoś nauczyłem to i inni mogliby nauczyć się tego co ja w łopatologiczny sposób:)

ZOSTAW ODPOWIEDŹ