Конкатенация строк с использованием интерполяции строк - PullRequest
0 голосов
/ 01 июня 2018

У меня есть что-то вроде ниже.

var amount = "$1,000.99";
var formattedamount = string.Format("{0}{1}{0}", "\"", amount);

Как я могу добиться того же, используя интерполяцию строк?

Я пробовал как ниже

var formattedamount1 = $"\"{amount}\"";

Есть лилучший способ сделать это с помощью строковой интерполяции?

Ответы [ 3 ]

0 голосов
/ 01 июня 2018

Обновление

Есть ли лучший способ сделать это, используя интерполяцию строк

Нет, это просто интерполяция строк, вы не можете сделатьследующие более короткие и удобочитаемые действительно

var formattedamount1 = $"\"{amount}\"";

Оригинальный ответ

$ - интерполяция строк (C # Reference)

Чтобы включить фигурную скобку "{" или "}" в текст, полученный с помощью интерполированной строки, используйте две фигурные скобки: "{{" или "}}".Для получения дополнительной информации см. Escapeing Braces.

Кавычки просто экранированы как обычно

Пример

string name = "Horace";
int age = 34;

Console.WriteLine($"He asked, \"Is your name {name}?\", but didn't wait for a reply :-{{");
Console.WriteLine($"{name} is {age} year{(age == 1 ? "" : "s")} old.");

Output

He asked, "Is your name Horace?", but didn't wait for a reply :-{
Horace is 34 years old.
0 голосов
/ 01 июня 2018

Просто чтобы дать еще одну опцию, если вы хотите убедиться, что вы используете одну и ту же кавычку в начале и в конце, вы можете использовать для этого отдельную переменную:

string quote = "\"";
string amount = "$1,000.99";
string formattedAmount = $"{quote}{amount}{quote}";

I'mне уверен, что я буду беспокоиться об этом лично, но это еще один вариант для рассмотрения.

0 голосов
/ 01 июня 2018

То же, что вы можете сделать, выполнив:

var formattedamount1 = $"\"{amount}\"";

ИЛИ

var formattedamount1 = $@"""{amount}""";

В основном это позволяет вам писать string.Format(), но вместо использования одной строки с "заполнителями"({0}, {1}, .. {N}), вы пишете / используете свою переменную внутри string.

Пожалуйста, прочитайте больше о Интерполяция строк (DotNetPerls) , $ - интерполяция строк , чтобы полностью понять, что происходит.

...