Ćwiczenie — łączenie ciągów przy użyciu interpolacji ciągów
Co prawda łączenie ciągów jest proste i wygodne, ale interpolacja ciągów zyskuje coraz większą popularność w sytuacjach, w których trzeba połączyć wiele ciągów literałów i zmiennych w pojedynczy sformatowany komunikat.
Co to jest interpolacja ciągów?
Interpolacja ciągów polega na połączeniu wielu wartości w jeden ciąg literału przy użyciu „szablonu” i co najmniej jednego wyrażenia interpolacji. Wyrażenie interpolacji jest wskazywane przez symbol { }
otwierający i zamykający nawias klamrowy . Możesz umieścić dowolne wyrażenie języka C#, które zwraca wartość wewnątrz nawiasów klamrowych. Ciąg literału staje się szablonem, gdy zostanie poprzedzony znakiem $
.
Innymi słowy, zamiast pisać następujący wiersz kodu:
string message = greeting + " " + firstName + "!";
Możesz napisać go bardziej zwięźle:
string message = $"{greeting} {firstName}!";
W tym prostym przykładzie oszczędzasz kilka naciśnięć klawiszy. Wyobraź sobie, jak dużo bardziej zwięzła może być interpolacja w przypadku bardziej złożonych operacji. Ponadto dla wielu osób składnia interpolacji ciągów jest bardziej czytelna.
W poniższym ćwiczeniu napiszesz ponownie poprzednie komunikaty przy użyciu interpolacji ciągów.
Użyj interpolacji ciągów, aby połączyć ciąg literału i wartość zmiennej
Aby interpolować dwa ciągi, należy utworzyć ciąg literału i umieścić przed ciągiem prefiks w postaci symbolu $
. Ciąg literału powinien zawierać co najmniej jeden zestaw nawiasów klamrowych {}
, a wewnątrz tych znaków należy użyć nazwy zmiennej.
Zaznacz cały kod w edytorze .NET, a następnie naciśnij klawisz Delete lub Backspace , aby go usunąć.
Wprowadź następujący kod w edytorze .NET:
string firstName = "Bob"; string message = $"Hello {firstName}!"; Console.WriteLine(message);
Teraz uruchom kod. W konsoli wyjściowej zostanie wyświetlony następujący wynik:
Hello Bob!
Używanie interpolacji ciągów z wieloma zmiennymi i ciągami literału
W tym samym wierszu kodu możesz wykonać kilka operacji interpolacji.
Zmodyfikuj napisany wcześniej kod w następujący sposób:
int version = 11; string updateText = "Update to Windows"; string message = $"{updateText} {version}"; Console.WriteLine(message);
Teraz uruchom kod. W konsoli wyjściowej zostanie wyświetlony następujący wynik:
Update to Windows 11
Unikaj zmiennych pośrednich
Podobnie jak w poprzednim ćwiczeniu, możesz wyeliminować zmienną tymczasową do przechowywania komunikatu.
Zmodyfikuj napisany wcześniej kod w następujący sposób:
int version = 11; string updateText = "Update to Windows"; Console.WriteLine($"{updateText} {version}!");
Teraz uruchom kod. Wynik w konsoli wyjściowej powinien być taki sam, nawet jeśli kod został uproszczony:
Update to Windows 11!
Łączenie literałów dosłownych i interpolacji ciągów
Załóżmy, że musisz użyć literału dosłownego w szablonie. Możesz użyć jednocześnie symbolu prefiksu literału dosłownego @
i symbolu interpolacji ciągów $
.
Usuń kod z poprzednich kroków i wpisz następujący kod w edytorze .NET:
string projectName = "First-Project"; Console.WriteLine($@"C:\Output\{projectName}\Data");
Teraz uruchom kod, a powinien zostać wyświetlony następujący wynik.
C:\Output\First-Project\Data
W tym przykładzie
$
symbol umożliwia odwołowywanie się do zmiennejprojectName
wewnątrz nawiasów klamrowych, podczas gdy@
symbol umożliwia użycie niewyrażnego\
znaku.
Podsumowanie
Poniżej przedstawiono informacje o interpolacji ciągów do tej pory:
- Interpolacja ciągów w pewnych sytuacjach wymaga mniejszej liczby znaków.
- Możesz łączyć interpolację ciągów i literały dosłowne, łącząc symbole dla każdego z nich i używając ich jako prefiksu dla szablonu ciągu.