Строка интерполяция - повторить - PullRequest
0 голосов
/ 14 ноября 2018

Есть ли способ интерполировать переменную несколько раз без повторения?

Например:

var name = "bla";
Console.WriteLine($"foo {name:repeat:2} bar")

для печати

foo blabla bar

Меня особенно интересуетинтерполировать несколько разрывов строк вместо повторения {Environment.NewLine} несколько раз в маске интерполяции, например:

$"{Environment.NewLine}{Environment.NewLine}"

Ответы [ 3 ]

0 голосов
/ 14 ноября 2018
public static string Repeat(this string s, int times, string separator = "")
{
    return string.Join(separator, Enumerable.Repeat(s, times));
}

Тогда используйте:

Console.WriteLine($"foo {name.Repeat(2)} bar")
0 голосов
/ 14 ноября 2018

Вы также можете использовать

var name = "bla";
Console.WriteLine("foo {0}{0} bar", name);
// or
var s = String.Format("foo {0}{0} bar", name);

Это поможет вам не повторять одну и ту же строку, просто индексировать ее.

Подробнее о Формат строки

0 голосов
/ 14 ноября 2018

Вы можете написать метод расширения для строкового типа, который повторяет его ввод. Затем просто используйте этот метод в фигурных скобках.

...