2

嗨,我有一个带有 10000 个索引的 int[] x,我正在使用这样的代码将每个值都放在文本框中的换行符中,但是我的代码至少需要几分钟来填充文本框,有没有更快的方法来做同样的事情?

for ( int x = 0; X < 10000; x++)
{
    textBox1.Text += randomNumber[x] + Environment.NewLine;
}
4

3 回答 3

8

是的,对这样的事情使用字符串生成器:

StringBuilder builder = new StringBuilder(10000); 
for (int x = 0; x < 10000; x++)
{
    builder.AppendLine(randomNumber[x]);
}
textBox1.Text = builder.ToString();

否则,你就是在“吐槽”,这对新程序员来说是一个常见的陷阱。 是 Joel Spolsky 的一篇很棒的博客文章,描述了字符串和不变性的常见缺陷。

于 2013-09-09T20:15:29.460 回答
2

目前尚不清楚randomNumber集合大小是否10000,但如果是,您可以使用String.Join方法:

textBox1.Text = string.Join(Environment.NewLine, randomNumber);

无论如何它都会在StringBuilder内部使用,但最好阅读。

于 2013-09-09T20:20:52.403 回答
0

首先构建字符串,然后将其值放入文本框中(而不是将文本附加到文本框 10,000 次)。

于 2013-09-09T20:15:21.897 回答