首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

做一个十万次循环要17分钟之久

2012-03-11 
做一个十万次循环要17分钟之久?救命啊程序功能:生成1到9999999之间数字+用户指定的字符串inti0while(i1

做一个十万次循环要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直接写成文件

热点排行