-4

情况1:

for(int =0;i<1000;i++)
{
 Datatable dt=new Datatable();
 //Perform some operation
 dt.Dispose();
}

案例二:

Datatable dt=new Datatable();
for(int =0;i<1000;i++)
{
 //Perform some operation
 dt=null;
}

我想在循环中使用数据表,这种情况会更有效:每次都在循环中创建和销毁一个对象,还是在循环之前创建它?

4

3 回答 3

0

尝试这个

编辑:如果你想保持相同的结构,那么你可以清除每个循环上的项目

Datatable dt =new Datatable();
//add columns to your datatable
for(int i=0;i<1000;i++)
{    
  dt.Items.Clear();
  //your other code
}
于 2013-03-09T04:52:25.237 回答
0

案例 2 效率更高,但应该如下所示

Datatable dt = null;
for(int i = 0; i < 1000; i++)
{    
 dt = new Datatable();
 //Perform some operation
 dt = null;//or dt.Dispose();
} 
于 2013-03-09T04:52:44.690 回答
0

案例2会更有效率。对象构造函数对于 CPU 来说是相对昂贵的操作。构造一个对象并为其成员赋值与销毁一个对象并构造是不同的。摧毁一个物体并重建它相当于每次新房客搬进来时拆掉房子并重建它。

于 2013-03-09T05:21:43.037 回答