为按钮添加响应函数,每单击一次创建一个X类的名叫x的对象,那岂不是这些对象都同名了? 

解决方案 »

  1.   

    你要提到namespace还靠点谱(但是lz的需求跟namespace也不靠谱)...内存位置?给点代码让我们学习学习...
      

  2.   

    为按钮添加响应函数,每单击一次创建一个X类的名叫x的对象,那岂不是这些对象都同名了? 
    ====>
    我理解楼主的意思是这样的:
    假如按钮响应函数是这样的:void Btn_Click(object sender, EventArgs e)
    {
        X x = new X();    
    }这里的话,每次点击按钮,都会创建X的一个对象,用x来引用. 楼主所谓的名叫x的对象,是指用变量x来引用该对象
    每次点击这个按钮执行响应函数,都会开辟不同的栈,所以对象在内存中的位置是不同的,即使使用同名的变量来引用.
      

  3.   

    在.net中,对象只有其占用的内存被gc回收的时候,其生命周期才结束.
    离开了执行函数, 超出了该对象的作用域,因为不再被引用,就被clr标记为垃圾,但它在内存中确确实实还存在,直到被gc回收.
      

  4.   

    这个和lz的问题没关系...x对象的x是变量标识不是对象标识,就算gc还没有回收上次产生的x对象,新的x对象的对象标识必定是不同的...所以说每次都是不同的对象,和同名没有关系...