C# 更改什么是值/引用类型;要点;到

C# 更改什么是值/引用类型;要点;到,c#,lambda,closures,pass-by-reference,subroutine,C#,Lambda,Closures,Pass By Reference,Subroutine,如何更改值/引用类型“指向”的内容 例如,在下面的伪场景中。我想从例程中保存一个值。在这种情况下,WorkRoutine会做一些工作,然后调用lambda表达式。由于lambdas中不允许ref/out,我使用tmp存储例程中的值,我希望将saveOut点设置为相同的地址/值。希望这个值能在某种方法之外保持活跃 public void SomeMethod<T> (ref T saveOut) { T tmp; WorkRoutine( (value) => t

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

例如,在下面的伪场景中。我想从例程中保存一个值。在这种情况下,WorkRoutine会做一些工作,然后调用lambda表达式。由于lambdas中不允许ref/out,我使用tmp存储例程中的值,我希望将saveOut点设置为相同的地址/值。希望这个值能在某种方法之外保持活跃

public void SomeMethod<T> (ref T saveOut)
{
    T tmp;
    WorkRoutine( (value) => tmp = value) ); // ref saveOut can't be used in a lambda
    saveOut = tmp;   
}
public void SomeMethod(参考T saveOut)
{
T-tmp;
WorkRoutine((value)=>tmp=value));//不能在lambda中使用ref saveOut
saveOut=tmp;
}

我不知道你在问什么。工作例程是异步的吗?可以说它将在一个单独的例程上工作。