kurs programowania c++ c# sql postgresql



C#


Typy danych.

W języku C# każda zmienna lub stała ma przypisany odpowiedni typ danych. Określa on jakiego rodzaju wartości będą przechowywane w danej zmiennej lub stałej.

Typ danych określa m.in.:

  • Charakter danych. Czy jest to np. liczba całkowita bez znaku (typ: int) lub ciąg znaków (typ: string).
  • Przestrzeń przechowywania (ile dany typ zajmuje miejsca w pamięci).
  • Wartości minimalne i maksymalne jakie może reprezentować (innymi słowy zakres wartości).

Przy doborze typu zmiennej należy się kierować zasadą minimalizacji tzn. jeśli nie potrzebujemy "większego" typu to korzystamy z "mniejszego". Przykładem może być byte i short. Zmienna typu byte może przyjąć wartość od 0 do 255 (włącznie z 255), a zmienna o typie short może przyjąć wartość od -32768 do 32767. Jeżeli wiemy, że wartość naszej zmiennej nie przyjmie nigdy wartości większej niż 255 to nie ma sensu korzystać z typu short bo typu short potrzebuje do reprezentacji 2 bajty pamięci. W takim przypadku lepiej skorzystać z typu byte, który do reprezentacji potrzebuje tylko 1 bajta.

Podstawowe typy danych.

kurs c# csharp podstawy programowania typy danych
Najpolularniejsze typy danych.

Przyjrzyjmy się jeszcze jednej właściwości typów. Na podstawie typu int zaprezentuję możliwość zwiększenia (a w zasadzie przesunięcia) zakresu zmiennej. Powiedzmy, że do zmiennej "a" chcemy przypisać wartość 2500000000 (dwa i pół miliarda). Jeżeli chcielibyśmy zadeklarować naszą zmienną "a" o typie int to zobaczylibyśmy błąd z powodu przekroczenia zakresu, gdyż zmienne typu int mogą przyjąć wartość od -2147483648 do 2147483647. W tym przypadku należałoby użyć typu long który daje już możliwość przypisania tak dużej wartości do zmiennej. Typ long potrzebuje jednak dwa razy więcej pamięci. Jeżeli wiemy, że nasza zmienna może przyjmować tylko wartości dodatnie możemy zastosować typ int bez znaku dodając do słówka int "u" (unsigned) na początku, czyli uint. To przerzuca jakby zakres ujemny na dodatnią stronę i tym samym zwiększa (podwaja) "dodatni" zakres typu uint, co obrazuje poniższy zrzut.

kurs c# csharp podstawy programowania typy danych
Najpolularniejsze typy danych.

Na rysunku widzimy deklarację zmiennej "c" typu int i próbę przypisania do niej wartości spoza zakresu. Kompilator od razu podkreśla błąd na czerwono.

Drugi przypadek to deklaracja zmiennej "d" typu uint i próba przypisania do niej tej samej wartości co w pierwszym przypadku. Błąd w takim przypadku nie występuję z uwagi na zwiększenie/przesunięcie zakresu typu.

Przykład deklaracji i inicjalizacji zmiennej typu int (liczby całkowite). Pamiętaj, że liczby całkowite zawierają także liczby ujemne.
int a = -300 ;

Przykład deklaracji i inicjalizacji zmiennej typu double (liczba zmiennoprzecinkowa).
double a = 30.55;

Przykład deklaracji i inicjalizacji zmiennej typu char (typu znakowy).
char x = 'K';
Pamiętaj, że liczby to także mogą być znaki i znak '1' nie oznacza w przypadku typu char liczby jeden tylko znak jeden.

Przykład deklaracji i inicjalizacji zmiennej typu string (ciąg znaków).
string x = "Ala ma kota";

Przykład deklaracji i inicjalizacji zmiennej typu bool (typ logiczny prawda/fałsz).
bool x = false;