Упражнение. Объединение строк с помощью интерполяции строк

Завершено

Хотя объединение строк является простым и удобным, интерполяция строк растет в популярности в ситуациях, когда необходимо объединить много литеральных строк и переменных в одно отформатированное сообщение.

Что такое интерполяция строк?

Интерполяция строк объединяет несколько значений в одну литеральную строку с помощью "шаблона" и одного или нескольких выражений интерполяции. Выражение интерполяции указывается символом открывающей и закрывающей фигурной скобки{ }. Можно поместить любое выражение C#, возвращающее значение внутри фигурных скобок. Литеральная строка становится шаблоном при префиксе символа $ .

Другими словами, вместо написания следующей строки кода:

string message = greeting + " " + firstName + "!";

Вместо этого можно написать более краткую строку кода:

string message = $"{greeting} {firstName}!";

В этом простом примере вы сохраняете несколько нажатий клавиш. Вы можете представить, насколько более краткой может быть интерполяция строк в сложных операциях. Кроме того, многие считают, что синтаксис интерполяции строк более чист и легче для восприятия.

В следующем упражнении вы перезаписываете предыдущие сообщения с помощью интерполяции строк.

Использование интерполяции строк для объединения литеральной строки и значения переменной

Чтобы интерполировать две строки вместе, создайте литеральную строку и префиксируете строку символом $ . Литеральная строка должна содержать по крайней мере одну пару фигурных скобок (например {}), внутри которых используется имя переменной.

  1. Выберите весь код, который вы написали ранее в редакторе кода C#, и нажмите клавишу DELETE или Backspace , чтобы удалить его.

  2. Введите следующий код в редакторе кода C#:

    string firstName = "Bob";
    string message = $"Hello {firstName}!";
    Console.WriteLine(message);
    
  3. Теперь выполните код. В консоли вывода появятся следующие результаты:

    Hello Bob!
    

Использование интерполяции строк с несколькими переменными и литеральными строками

В одной строке кода можно выполнять несколько операций интерполяции.

  1. Выберите весь код, который вы написали ранее в редакторе кода C#, и нажмите клавишу DELETE или Backspace , чтобы удалить его.

  2. Введите следующий код в редакторе кода C#:

    int version = 11;
    string updateText = "Update to Windows";
    string message = $"{updateText} {version}";
    Console.WriteLine(message);
    
  3. Теперь выполните код. В консоли вывода появятся следующие результаты:

    Update to Windows 11
    

Избегайте промежуточных переменных

Как и в предыдущем упражнении, можно исключить временную переменную для хранения сообщения.

  1. Измените код, который вы написали ранее, следующим образом:

    int version = 11;
    string updateText = "Update to Windows";
    Console.WriteLine($"{updateText} {version}!");
    
  2. Теперь выполните код. Результат в выходной консоли должен совпадать даже при упрощении кода:

    Update to Windows 11!
    

Объединение дословных литералов и интерполяции строк

Предположим, что в вашем шаблоне необходимо использовать дословный литерал. Можно использовать как символ префикса дословных литералов @, так и символ интерполяции строк $ вместе.

  1. Удалите код из предыдущих шагов и введите следующий код в редактор кода C#:

    string projectName = "First-Project";
    Console.WriteLine($@"C:\Output\{projectName}\Data");
    
  2. Теперь запустите код и увидите следующий результат.

    C:\Output\First-Project\Data
    

    В этом примере символ $ позволяет ссылаться на переменную projectName внутри фигурных скобок, а символ @ — использовать неэкранированный символ \.

Обзор

Вот что вы узнали о интерполяции строк до сих пор:

  • Интерполяция строк обеспечивает улучшение сцепления строк путем уменьшения количества символов, необходимых в некоторых ситуациях.
  • Можно объединить интерполяцию строк и дословные литералы, объединяя соответствующие символы и используя их в качестве префикса для шаблона строки.