做一个十万次循环要17分钟之久?救命啊
程序功能:生成1到9999999之间数字+用户指定的字符串
int i=0;
while (i < 100000)
{
num += 10;
str += num.ToString() + "\r\n ";
i++;
}//每行大约18个字符左右。num是7位以内整数
textBox1.text=str;
执行这个循环耗时18分钟,用for来写也差不多。我机器赛扬2.4g+512内存。
是不是也太慢了?求助高手们,是不是有更好的算法?
------解决方案--------------------System.Text.StringBuilder sb = new System.Text.StringBuilder();
int i=0;
while (i < 100000)
{
num += 10;
sb.Append(num.ToString() + "\r\n ");
i++;
}//每行大约18个字符左右。num是7位以内整数
textBox1.text=sb.ToString();
------解决方案--------------------你要明白为什么慢,不是因为循环,而是因为string的空间分配和拆箱
替代办法
1用StringBuilder
2直接写成文件