Typy łańcuchowe w C#

1. Wprowadzenie

  • Łańcuchy znaków (stringi) służą do przechowywania tekstu w C#.
  • W C# stringi są obiektami klasy System.String.
  • niemodyfikowalne (immutable) – każda zmiana tworzy nowy obiekt w pamięci.
  • Najczęściej używa się typu string. Dla pojedynczych znaków stosuje się typ char.

2. Tworzenie i inicjalizacja stringów

  • Pojedynczy znak:

3. Łączenie stringów

3.1. Operator +

3.2. Interpolacja ($"...")

3.3. String.Concat i String.Join


4. Podstawowe operacje na stringach

Operacja Przykład Wynik
Długość imie.Length liczba znaków w stringu
Pobranie znaku imie[0] 'J'
Podciąg (substring) imie.Substring(0,2) "Ja"
Znalezienie indeksu imie.IndexOf('a') 1 (pierwsze wystąpienie)
Zastąpienie tekstu imie.Replace("J", "K") "Kan"
Zmiana wielkości liter imie.ToUpper(), imie.ToLower() "JAN", "jan"
Sprawdzenie początku/końca imie.StartsWith("J"), imie.EndsWith("n") true, true
Porównanie stringów String.Equals(a, b) lub == true/false

5. Łączenie i modyfikacja dużych stringów

  • Ze względu na niemodykalność stringów każda zmiana tworzy nowy obiekt.
  • Dla wielu operacji na dużych tekstach lepiej używać StringBuilder (System.Text):

6. Formatowanie stringów

6.1. Interpolacja (zalecana)

6.2. String.Format

6.3. Łączenie znaków specjalnych


7. Rozdzielanie i łączenie

  • Split – dzieli string na tablicę elementów:
  • Join – łączy elementy tablicy w jeden string:

8. Porównywanie stringów

  • Porównanie wrażliwe na wielkość liter:
  • Porównanie ignorujące wielkość liter:
  • Metody:

  • Compare, CompareTo – do sortowania i porównań.


9. Konwersje między string a innymi typami

  • String → int:
  • Inne typy → string: