Typy danych, zmienne, stałe i konwersja typów w C#

1. Typy danych w C#

1.1. Typy proste (value types)

  • Całkowite:
    • byte (0–255), sbyte (–128–127),
    • short (–32 768–32 767), ushort (0–65 535),
    • int (–2 mld – 2 mld), uint,
    • long, ulong.
  • Zmiennoprzecinkowe:
    • float (\~7 cyfr dokładności, 32 bity),
    • double (\~15-16 cyfr, 64 bity),
    • decimal (28-29 cyfr, wysoka precyzja finansowa, 128 bitów).
  • Logiczny:
    • bool – wartości true/false.
  • Znakowy:
    • char – pojedynczy znak Unicode ('A').

1.2. Typy złożone (reference types)

  • string – ciąg znaków, np. "Hello".
  • Tablice – np. int[] liczby = new int[5];.
  • Klasy, interfejsy, delegaty – tworzone przez programistę.

1.3. Typ var i dynamic

  • var – typ określany automatycznie na etapie kompilacji.
  • dynamic – typ określany dopiero w czasie działania programu.

1.4. Typy nullable

  • Pozwalają przypisywać null do typów prostych:

2. Zmienne

2.1. Definicja

  • Zmienne to nazwane miejsca w pamięci przechowujące dane określonego typu.
  • Składają się z:
    • typu,
    • nazwy,
    • opcjonalnej wartości początkowej.

Przykład:

2.2. Zasady nazewnictwa

  • Mogą zawierać litery, cyfry i _.
  • Nie mogą zaczynać się od cyfry.
  • Nie mogą być słowami kluczowymi języka (int, class, if, …).
  • Stosuje się notację camelCase dla zmiennych (wiekUzytkownika).

3. Stałe

3.1. const

  • Wartość przypisywana w czasie kompilacji i niezmienna w trakcie działania programu.

3.2. readonly

  • Wartość może być przypisana raz – podczas deklaracji lub w konstruktorze klasy.
  • Użyteczne przy obiektach.

4. Konwersja typów

4.1. Konwersja niejawna (implicit)

  • Automatyczna zmiana typu, gdy nie ma ryzyka utraty danych.

4.2. Konwersja jawna (explicit, rzutowanie)

  • Wymaga użycia operatora (typ).
  • Może spowodować utratę danych.

4.3. Metody konwersji

  • Convert.ToInt32(), Convert.ToDouble(), Convert.ToString().

4.4. Parse i TryParse

  • Parse() – zamienia string na typ liczbowy, ale rzuca wyjątek przy błędzie.
  • TryParse() – bezpieczna konwersja (zwraca true/false).

5. Przykładowy program