C#で指定した文字を繰り返す(リピート)する方法

2024年8月10日土曜日

C#

t f B! P L

はじめに

C#で文字列を繰り返して結合する方法は、さまざまな場面で使います。
例えば、特定のパターンを生成したり、テンプレート文字列を構築したりする際に役に立ちます。
本記事では、単一の文字や複数の文字列を繰り返す方法について、サンプルコードを使って解説します。

1つの文字を繰り返す方法

まず、単一の文字を指定回数繰り返す簡単な方法から見ていきましょう。C#では、new Stringコンストラクタを使うことで、特定の文字を指定回数繰り返した文字列を簡単に生成できます。

コード例

public string RepeatString(string input, int count)
{
    if (count < 0)
    {
        throw new ArgumentException("Count cannot be negative.");
    }
    return new String(input[0], count);
}

コード解説

  • input[0]inputの最初の文字を取得します。このコードでは、inputが1文字の文字列であることを前提としています。複数の文字列を渡すと、その最初の文字だけが繰り返されます。
  • new StringStringクラスのコンストラクタを使って、指定した文字を指定回数繰り返して文字列を生成します。
  • count:繰り返したい回数を指定します。countが負の値の場合は、例外がスローされます。

使用例

例えば、RepeatString("A", 5)を呼び出すと、"AAAAA"という結果が返ってきます。この方法はシンプルで、単一の文字を繰り返す場合に最適です。

複数の文字列を繰り返す方法

次に、複数の文字列を繰り返す方法について説明します。StringBuilderクラスを使用することで、複数の文字列を効率的に繰り返すことができます。

コード例

public string RepeatString(string input, int count)
{
    if (count < 0)
    {
        throw new ArgumentException("Count cannot be negative.");
    }

    StringBuilder result = new StringBuilder(input.Length * count);
    for (int i = 0; i < count; i++)
    {
        result.Append(input);
    }

    return result.ToString();
}

コード解説

  • StringBuilder:繰り返し文字列を効率的に構築するために使用されるクラスです。input.Length * countの容量を事前に確保することで、パフォーマンスの最適化を図っています。
  • Append(input)input文字列をStringBuilderに追加します。これが指定された回数(count)だけ繰り返されます。
  • result.ToString():最終的に構築された文字列を返します。

使用例

例えば、RepeatString("ABC", 3)を呼び出すと、"ABCABCABC"という結果が得られます。この方法は、複数の文字列を繰り返す場合に非常に便利です。

まとめ

C#で文字列を繰り返して生成する方法は、シンプルなものから複数の文字列を扱うものまでさまざまです。単一の文字を繰り返すにはnew Stringコンストラクタを、複数の文字列を繰り返すにはStringBuilderを活用することで、効率的に文字列を生成できます。これらのテクニックを活用して、日常のプログラミングをより効率的に進めてください。

スポンサーリンク
スポンサーリンク

このブログを検索

Profile

自分の写真
Webアプリエンジニア。 日々新しい技術を追い求めてブログでアウトプットしています。
プロフィール画像は、猫村ゆゆこ様に書いてもらいました。

仕事募集もしていたり、していなかったり。

QooQ