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. - Są niemodyfikowalne (immutable) – każda zmiana tworzy nowy obiekt w pamięci.
- Najczęściej używa się typu
string. Dla pojedynczych znaków stosuje się typchar.
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: