C# で文字列を繰り返す
このチュートリアルでは、C# で文字列を繰り返す方法について説明します。
C# の String
クラスコンストラクタで文字列を繰り返す
String
クラスのコンストラクターを使用して、C# で特定の文字列を指定された回数だけ繰り返すことができます。String
クラスコンストラクターは、繰り返される文字と繰り返される回数の 2つの引数を取ります。次のコード例を参照してください。
using System;
namespace repeat_string {
class Program {
static void Main(string[] args) {
string dimensions = new String('D', 3);
Console.WriteLine(dimensions);
}
}
}
出力:
DDD
上記のコードでは、文字 D
を 3 回繰り返し、C# の String('D', 3)
コンストラクターを使用して文字列変数 dimensions
に保存しました。このアプローチの欠点は、文字列を繰り返すことができないことです。文字を繰り返すことができます。この欠点については、次のセクションで説明します。
C# の LINQ メソッドで文字列を繰り返す
LINQ は、クエリ機能を C# のデータ構造と統合します。LINQ の Enumerable.Repeat()
関数を使用して、C# で指定された回数だけ文字列を繰り返すことができます。Enumerable.Repeat()
関数は、文字列変数とその文字列変数を繰り返す必要がある回数の 2つのパラメーターを取ります。次のコード例は、C# で LINQ の Enumerable.Repeat()
関数を使用して文字列を繰り返す方法を示しています。
using System;
using System.Linq;
namespace repeat_string {
class Program {
static void Main(string[] args) {
string alphabets = string.Concat(Enumerable.Repeat("ABC", 3));
Console.WriteLine(alphabets);
}
}
}
出力:
ABCABCABC
上記のコードでは、文字列 ABC
を 3 回繰り返し、C# の LINQ の Enumerable.Repeat("ABC", 3)
関数を使用して文字列変数 alphabets
に保存しました。このアプローチは、前のアプローチのように文字を繰り返す代わりに、文字列を繰り返します。
C# の StringBuilder
クラスで文字列を繰り返す
文字列を繰り返すために使用できる別のアプローチは、C# で StringBuilder
クラスを使用することです。StringBuilder
クラスは、C# で可変の文字列を作成するために使用されます。次のコード例を参照してください。
using System;
using System.Text;
namespace repeat_string {
class Program {
static void Main(string[] args) {
string alphabets = new StringBuilder("ABC".Length * 3).Insert(0, "ABC", 3).ToString();
Console.WriteLine(alphabets);
}
}
}
出力:
ABCABCABC
上記のコードでは、文字列 ABC
を 3 回繰り返し、C# の StringBuilder
クラスと StringBuilder.Insert()
関数を使用して文字列変数 alphabets
に格納しました。まず、StringBuilder("ABC".Length*3)
コンストラクターを使用して、繰り返される文字列の長さを組み合わせた新しい文字列を作成しました。ABC
の長さが 3 であるため、長さ 9 の文字列が作成され、3 回繰り返す必要があります。次に、インデックス 0
から開始し、Insert()
関数を使用して、新しく作成された文字列に文字列 ABC
を 3 回挿入します。最後に、C# の ToString()
関数を使用して、結果の値を文字列に変換します。このアプローチは、前のアプローチと同じ仕事をしますが、より複雑であるため、お勧めできません。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn