Manipulowanie ciągami

Ukończone

Wskazówka

Aby uzyskać więcej szczegółów, zobacz kartę Tekst i obrazy .

Tekst jest jednym z najbardziej typowych typów danych w programowaniu. W języku C#tekst jest reprezentowany jako ciąg — sekwencja znaków ujęta w cudzysłowy. Język C# udostępnia wiele wbudowanych sposobów manipulowania ciągami i ich formatowania.

Łączenie (łączenie ciągów razem)

Za pomocą + operatora można połączyć dwa lub więcej ciągów w jeden ciąg:

string first = "Hello";
string last = "world";
string message = first + ", " + last + "!";
Console.WriteLine(message);

Wyjście:

Hello, world!

Chociaż konkatenacja świetnie sprawdza się przy prostych połączeniach, może stać się nieczytelna, gdy próbujesz łączyć zmienne, znaki interpunkcyjne i spacje.

Lepszy sposób: interpolacja ciągów

Czystszym, nowoczesnym sposobem łączenia ciągów i zmiennych jest interpolacja ciągów. Aby utworzyć ciąg znaków tego typu, umieść znak dolara ($) bezpośrednio przed cudzysłowem otwierającym, a nazwy zmiennych umieść wewnątrz nawiasów klamrowych {}:

string name = "Alex";
Console.WriteLine($"Hello, {name}!");

Wyjście:

Hello, Alex!

Możesz spróbować uruchomić ten kod samodzielnie w edytorze kodu języka C#.

Czystszy sposób łączenia danych wejściowych i wyjściowych

Interpolacja łańcuchów rozwiązuje problem, który omówiliśmy wcześniej przy użyciu Console.ReadLine(). Teraz możesz łatwo mieszać tekst i zmienne:

string name = Console.ReadLine();
Console.WriteLine($"Hello, {name}! Nice to meet you.");

Jest to znacznie bardziej przejrzyste niż łączenie za pomocą +.

Note

Jeśli zapomnisz o prefiksie $ (np. Console.WriteLine("Hello, {name}")), C# nie zajrzy do wnętrza nawiasów klamrowych — dosłownie wyświetli na ekranie {name}.

Najczęściej używane metody łańcucha

Ciągi języka C# mają wiele wbudowanych metod dla typowych operacji. Aby użyć metody, wpisz nazwę zmiennej, kropkę i nazwę metody, po której następują nawiasy:

Metoda Do czego służy Example Wynik
.ToUpper() Zmienia tekst na wielkie litery "hello".ToUpper() "HELLO"
.ToLower() Konwertuje litery w tekście na małe. "HELLO".ToLower() "hello"
.Replace(old, new) Zamienia określone znaki "cat".Replace("c", "b") "bat"
.Length Zwraca liczbę znaków "Alex".Length 4

Przykład praktyczny

Oto jak można używać tych technik razem:

Console.Write("What's your name? ");
string name = Console.ReadLine();
string greeting = $"Welcome, {name.ToUpper()}!";
Console.WriteLine(greeting);

Jeśli użytkownik wpisze alex, wynik jest następujący:

What's your name? alex
Welcome, ALEX!

Zwróć uwagę, jak .ToUpper() zamienił dane wejściowe użytkownika na wielkie litery, a interpolacja ciągów znaków ułatwiła połączenie wszystkiego w całość.