有没有办法让变量设置为一个对象,并有另一个变量总是等于前者?
var x = new object();
var y = [synonym of x];
x = null; // then y = null as well
Run Code Online (Sandbox Code Playgroud)
我认为这不存在.
所以我经常使用数组来保存"引用".
var x = new object[] { new object() };
var y = x;
x[0] = null; // then y[0] = null as well
Run Code Online (Sandbox Code Playgroud)
但感觉有点蹩脚.
如果你真的需要这个,你可以做下面的事情,但我认为它仍然是蹩脚的(:
class RefHolder<T>
{
public RefHolder(T value)
{
Value = value;
}
public T Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
用法
var o1 = new RefHolder<object>(new object());
var o2 = o1;
o2.Value = null; // now o1.Value is null too
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
426 次 |
| 最近记录: |