Функциональный подход в стиле программирования:
(требуется минимум C # 3.0)
static class StringRepetitionExtension
{
public static string Times(this int count, string what)
{
return count > 0 ? string.Concat(what, (count-1).Times(what))
: string.Empty;
}
}
Использование:
3.Times("Foobar") // returns "FoobarFoobarFoobar"
(Конечно, это не самое эффективное решение, и из-за рекурсии всегда существует опасность переполнения стека с неоправданно большими значениями для count
; но, тем не менее, я хотел поделиться немного другим, простым для понимания подход.)