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

datatable资源的释放有关问题

2011-12-10 
datatable资源的释放问题我做了个测试:publicpartialclassForm2:Form{DataTableMyDataTablepublicForm2()

datatable资源的释放问题
我做了个测试:
        public   partial   class   Form2   :   Form
        {
                DataTable   MyDataTable;

                public   Form2()
                {
                        InitializeComponent();
                }
                private   void   button1_Click(object   sender,   EventArgs   e)
                {

                        MyDataTable   =   new   DataTable();
                        MyDataTable.Columns.Add( "id ",   typeof(int));
                        MyDataTable.Columns.Add( "name ",   typeof(string));

                        MyDataTable.Rows.Add(1,   "a ");
                        MyDataTable.Rows.Add(2,   "b ");
                        MyDataTable.Rows.Add(3,   "c ");

                        textBox1.DataBindings.Add( "text ",   MyDataTable,   "id ");
                        dataGridView1.DataSource   =   MyDataTable;
                }

                private   void   button2_Click(object   sender,   EventArgs   e)
                {
                        MyDataTable   =   new   DataTable();
                        MyDataTable.Columns.Add( "field1 ",   typeof(int));
                        MyDataTable.Columns.Add( "fiedl2 ",   typeof(string));

                        MyDataTable.Rows.Add(1,   "x ");
                        MyDataTable.Rows.Add(2,   "y ");
                        MyDataTable.Rows.Add(3,   "z ");
                        MyDataTable.AcceptChanges();

                        textBox2.DataBindings.Add( "text ",   MyDataTable,   "field1 ");
                        dataGridView2.DataSource   =   MyDataTable;
                }
}
点button1时,新建datatable,并绑定。绑定到textbox1,   datagridview1


在点button2,   建一个同名的datatable,绑定到textbox2,   datagridview2
原来的datagridview1的数据还是存在,就是说现在系统中同时存在两个datatable的数据?原来的datatable资源没有释放?
如果程序中重复这样的动作(如搜索数据,adapter   fill   数据一个datatable中),岂不是系统会越用越慢?

[解决办法]
应该没事的,你new的不是同一个DataTable MyDataTable吗??
而且不是有GC(垃圾回收机制)吗??
[解决办法]
DataTable这种托管资源不用你费心,你就扔那就行了,.NET 框架替你干活了.

你要关心的是数据库连接,网络链接,Stream等.
[解决办法]
友情UP

热点排行