こんにちは、10000 個のインデックスを持つ int[] x があり、このようなコードを使用してすべての値をテキスト ボックスの改行に入れていますが、私のコードはテキスト ボックスを埋めるのに少なくとも数分かかります。同じことをするより速い方法は?
for ( int x = 0; X < 10000; x++)
{
textBox1.Text += randomNumber[x] + Environment.NewLine;
}
はい、次のようなものには文字列ビルダーを使用します。
StringBuilder builder = new StringBuilder(10000);
for (int x = 0; x < 10000; x++)
{
builder.AppendLine(randomNumber[x]);
}
textBox1.Text = builder.ToString();
そうしないと、新しいプログラマーにとってよくある落とし穴である「ひもで咳き込む」ことになります。 これは Joel Spolskyによる素晴らしいブログ投稿で、文字列と不変性に関する一般的な落とし穴について説明しています。
randomNumber
コレクションのサイズがそうであるかどうかは明らかではありませんが、そうである場合は、メソッド10000
を使用できます。String.Join
textBox1.Text = string.Join(Environment.NewLine, randomNumber);
StringBuilder
とにかく内部的に使用しますが、読む方が良いです。
最初に文字列を作成してから、その値をテキスト ボックスに入力します (テキスト ボックスにテキストを 10,000 回追加するのではなく)。