更改值/引用类型“指向”的内容

时间:2014-02-15 21:32:55

标签: c# lambda closures pass-by-reference subroutine

如何更改值/引用类型“指向”的内容?

例如,在以下伪方案中。我想从例程中保存一个值。在这种情况下,WorkRoutine会做一些工作,然后调用lambda表达式。由于在lambdas中不允许ref / out,我使用tmp来存储例程中的值,我想使saveOut指向相同的地址/值。希望这个价值能在SomeMethod之外保持活力。

public void SomeMethod<T> (ref T saveOut)
{
    T tmp;
    WorkRoutine( (value) => tmp = value) ); // ref saveOut can't be used in a lambda
    saveOut = tmp;   
}

0 个答案:

没有答案