有没有办法将一个变量设置为一个对象,并让另一个变量始终等于前一个变量?
var x = new object();
var y = [synonym of x];
x = null; // then y = null as well
我认为这不存在。
所以我经常使用数组来保存“引用”。
var x = new object[] { new object() };
var y = x;
x[0] = null; // then y[0] = null as well
但感觉有点蹩脚。
最佳答案
如果你真的真的需要这个,你可以做类似下面的事情,但我认为它仍然是蹩脚的(:
class RefHolder<T>
{
public RefHolder(T value)
{
Value = value;
}
public T Value { get; set; }
}
用法
var o1 = new RefHolder<object>(new object());
var o2 = o1;
o2.Value = null; // now o1.Value is null too
关于c# - 同义词存在吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17364273/