はじめに
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 String:Stringクラスのコンストラクタを使って、指定した文字を指定回数繰り返して文字列を生成します。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を活用することで、効率的に文字列を生成できます。これらのテクニックを活用して、日常のプログラミングをより効率的に進めてください。

0 件のコメント:
コメントを投稿