如何加快foreach的结果

-2 c# foreach

我正在制作Windows窗体应用程序,我想生成0到99999之间的数字.我使用以下代码打印这些数字:

  private void button1_Click(object sender, EventArgs e)
    {
        int[] arr = Enumerable.Range(0, 99999).ToArray();
        var sb = new StringBuilder();
        foreach (int a in arr)
        {
            sb.AppendLine(a.ToString("000000"));
           // textBox3.Text += a.ToString("000000")+Environment.NewLine;
            textBox3.Text = sb.ToString();

        }
    }
Run Code Online (Sandbox Code Playgroud)

但是打印所有数字需要花费大量时间.

有什么方法可以加快速度吗?

Ren*_*ogt 6

您可以TextBox每次迭代中设置文本.因此文本框重绘了100000次.当然它很慢.

在循环移动文本的设置:

foreach (int a in arr)
{
    sb.AppendLine(a.ToString("000000"));
}
textBox3.Text = sb.ToString();
Run Code Online (Sandbox Code Playgroud)

因此,只有在完成组合字符串并且文本框仅重绘一次时才设置文本.