Повторение строки(string) заданное количество раз

Задача: Написать функцию с именем repeatString, которая повторяет данный String (переменная s) точное количество раз (переменная n). Функция должна получиться универсальной для любого значения повторений(Напимер 3 раза, 5 раз, 6 раз и т.д.) Код который я смог написать:

namespace Solution
{
  public static class Program
  {
    public static string repeatStr(int n, string s)
    {
      for (int i = 2; i < n; i++)
      {
        s = s + s;
      }
      return s;
    }
  }
}

Получается так, что при n = 3, знаков звёздочки (s = "*") печатается на 1 больше чем нужно:

Должно быть: "***"

Получается: "****"

При изменении начального значения счётчика i на 2, получается обратная ситуация - печатается 2 звёздочки, вместо 3-х нужных.

!!! Прошу заметить, что значения string s и int n - могут быть любыми!!! Это значит, что вместо одного знака "*", может быть поставлено слово "Hello!"


Ответы (2 шт):

Автор решения: Aziz Umarov

У вас удвоение на каждой итерации s = s + s; а должно быть

String result = ""; 
for (int i = 1; i < n; i++)
{
 result +=  s;
}
return result;

или по человечески

StringBuilder sb = new StringBuilder("");
for (int i = 1; i < n; i++)
{
 sb.Append(s);
}
return sb.ToString();
→ Ссылка
Автор решения: Qwertiy
string.Join("", Enumerable.Repeat(s, n));

Пример: https://ideone.com/tFwVKB

using System;
using System.Linq;

public class Test
{
  public static void Main()
  {
    string s = "*abc*";
    int n = 5;
    string res = string.Join("", Enumerable.Repeat(s, n));
    Console.WriteLine(res);
  }
}
→ Ссылка