c#中的引用变量没有局部概念???

来源:百度知道 编辑:UC知道 时间:2024/05/28 23:55:26
这个问题的解决是因为c#中的引用变量没有局部概念
http://zhidao.baidu.com/question/43525629.html

view 是在CalcColumns()内部定义创建的,并且在其外部是不能访问的.但datagridview1 可不是内部的啊,是外部的,它是form1的成员.和form1的生命周期一样,在CalcColumns()这个方法内,你把dataview绑定到了dataGridView1.DataSource = view; //绑定是把内存引用地址赋值给了dataGridView1.DataSource,虽然在全局不能访问view,似乎是消失了,但内存中还是存在此对象的.

数据存在:
form1.dataGridView1.DataSource 对象中,
虽然dataview没有了,但是其中的内容已经被form1.dataGridView1.DataSource引用了,所以不会丢失。

把数据集合拷贝到内存里了。并不是变量问题。