Ćwiczenie — łączenie ciągów przy użyciu interpolacji ciągów
Podczas gdy łączenie ciągów jest proste i wygodne, interpolacja ciągów rośnie w sytuacjach, w których trzeba połączyć wiele ciągów literałów i zmiennych w jeden sformatowany komunikat.
Co to jest interpolacja ciągów?
Interpolacja ciągów łączy wiele wartości w jeden literał ciągu znaków 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 dosłownego ciągu znaków staje się szablonem, gdy jest poprzedzony znakiem $.
Innymi słowy, zamiast pisać następujący wiersz kodu:
string message = greeting + " " + firstName + "!";
Zamiast tego możesz napisać bardziej zwięzły wiersz kodu:
string message = $"{greeting} {firstName}!";
W tym prostym przykładzie zapiszesz kilka naciśnięć. Można sobie wyobrazić, ile bardziej zwięzła interpolacja ciągów może być w bardziej złożonych operacjach. Ponadto wielu uważa, że składnia interpolacji ciągów jest czytelniejsza i łatwiejsza do zrozumienia.
W poniższym ćwiczeniu napiszesz ponownie poprzednie komunikaty przy użyciu interpolacji ciągów.
Użyj interpolacji ciągów znaków, aby połączyć literał i wartość zmiennej
Aby interpolować dwa ciągi znaków razem, należy utworzyć literał i dodać na początku ciągu symbol $. 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 napisany wcześniej w Edytorze kodu języka C#, a następnie naciśnij Delete lub Backspace , aby go usunąć.
Wprowadź następujący kod w edytorze kodu języka C#:
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!
Interpolacja ciągów z wieloma zmiennymi i ciągami literalnymi
W tym samym wierszu kodu można wykonać kilka operacji interpolacji.
Zaznacz cały kod napisany wcześniej w Edytorze kodu języka C#, a następnie naciśnij Delete lub Backspace , aby go usunąć.
Wprowadź następujący kod w edytorze kodu języka C#:
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żna użyć zarówno symbolu prefiksu dosłownego literału @, jak i symbolu interpolacji ciągów $.
Usuń kod z poprzednich kroków i wpisz następujący kod w edytorze kodu języka C#:
string projectName = "First-Project"; Console.WriteLine($@"C:\Output\{projectName}\Data");Teraz uruchom kod i powinien zostać wyświetlony następujący wynik.
C:\Output\First-Project\DataW tym przykładzie symbol
$umożliwia odwołanie się do zmiennejprojectNamew nawiasach klamrowych, podczas gdy symbol@umożliwia użycie nieskopiowanego znaku\.
Podsumowanie
Oto, czego nauczyłeś się o interpolacji ciągów do tej pory:
- Interpolacja ciągów zapewnia poprawę łączenia ciągów przez zmniejszenie liczby znaków wymaganych w niektórych sytuacjach.
- Można połączyć interpolację ciągów i literały dosłowne, łącząc symbole dla każdego elementu i używając go jako prefiksu dla szablonu ciągu.