In C#, I call GC.Collect()
in both Form1_Load
and click event
Question is GC.Collect()
seems did nothing in Form_load
But works in click event. Why ?
GC.Collect()
first time inForm1_Load
GC.Collect()
second time inclick event
With visual studio 2015 diagnosis tool
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
DataTable dt;
private void Form1_Load(object sender, EventArgs e)
{
dt = new DataTable();
dt.Columns.Add("1", typeof(int));
dt.Columns.Add("2", typeof(int));
dt.Columns.Add("3", typeof(int));
for (int i = 0; i < 1000000; i++)
{
DataRow dr = dt.NewRow();
dr[0] = 10;
dr[1] = 1000;
dr[2] = 10000;
dt.Rows.Add(dr);
}
//gc first time
dt = null;
GC.Collect();
}
private void button1_Click(object sender, EventArgs e)
{
//gc sec time
dt = null;
GC.Collect();
}
}