如果有多个变量指向同一个地址,怎用通过其中某一个变量删除该地址的数据,
思路1:
找到一个方法,可以返回所有引用该地址的变量,然后都设为null
思路2:
找到一个方法,直接把对应的地址清除
例子:
有个一类 A;
然后:
A a1=new A();
A a2=a1;
A a3=a1;
A x1=a1;
...(后来有很多变量对指向同一个地址)
怎样对 a3操作,可使得所有引用同一对象的变量都 变为null
思路1:
找到一个方法,可以返回所有引用该地址的变量,然后都设为null
思路2:
找到一个方法,直接把对应的地址清除
例子:
有个一类 A;
然后:
A a1=new A();
A a2=a1;
A a3=a1;
A x1=a1;
...(后来有很多变量对指向同一个地址)
怎样对 a3操作,可使得所有引用同一对象的变量都 变为null
A a2=a1;
A a3=a1; a1 = null / a2 = null / a3 = null应该都可以将这三个字设置成null的。
这样就可以通过某个变量标记该地址已经不想利用了,在适当的时候这些个变量通过判断该值,来自己null
谁有更好的方法呢?
如
Form a = new Form();
a.dispose();
if(a==null)Console.WriteLine("a is not null");
可以自己测试一下
不知道楼主要这样做干什么找到当前AppDomain下的所有实例,并且和a3进行ReferenceEquals()的比较,如果引用一样,那么手动置NULL。