我试图将一个变量保存为对象的成员,而不是修改对该变量的引用。是否有可能在C#?
它是这样的:
class Foo
{
int i;
public Foo(ref int i) { this.i = i; }
public void Bar(int i) { this.i += i; }
}
class Demo
{
public static void Main(string[] args)
{
int x = 10;
Console.WriteLine(x); // x = 10
Foo foo = new Foo(ref x);
foo.Bar(15);
Console.WriteLine(x); // x = 25
}
}
那么有没有办法在C#中实现这一点,例如使用lambdas?或者没有不安全的代码就不可能做到这一点?