-4

ケース 1:

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

ケース 2:

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

ループ内でデータ テーブルを使用したいのですが、ループ内で毎回オブジェクトを作成して破棄するか、ループの前にオブジェクトを作成するか、どちらの場合がより効率的でしょうか?

4

3 に答える 3

0

ケース2の方が効率的です。オブジェクトコンストラクターは、CPUにとって比較的コストのかかる操作です。1つのオブジェクトを作成してそのメンバーに値を割り当てることは、オブジェクトを破棄して作成することとは異なります。オブジェクトを破壊して再作成することは、新しいテナントが入居するたびに家を壊して再構築することと同じです。

于 2013-03-09T05:21:43.037 に答える
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 に答える