我正在制作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)
但是打印所有数字需要花费大量时间.
有什么方法可以加快速度吗?
您可以TextBox在每次迭代中设置文本.因此文本框重绘了100000次.当然它很慢.
在循环外移动文本的设置:
foreach (int a in arr)
{
sb.AppendLine(a.ToString("000000"));
}
textBox3.Text = sb.ToString();
Run Code Online (Sandbox Code Playgroud)
因此,只有在完成组合字符串并且文本框仅重绘一次时才设置文本.