相关疑难解决方法(0)

Lambda返回另一个lambda

有没有办法如何递归地从另一个lambda返回lambda?

我想做的就是有限状态机,实现为lambda,它返回实现另一个状态(或null)的lambda.

嵌套Func <>将无法正常工作.

C#,.NET 3.5

例:

机器,3个州,伪语言

private Lambda State1()
{  
    if (SomeConditionIsMet)
        return State2;
    else
        return State1;
}

private Lambda State2()
{  
    while (SomeConditionIsMet)
        return State2;
    else
        return State3;
}

private Lambda State3()
{  
    LogEnd();
    return NULL;
}

public void FSM()
{
    Lambda _currentState = State1;

    while(_currentState != NULL)
    {
        _currentState = _currentState();
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道,例如,我可以使用enum + switch解决这个问题,但我只是好奇我是否可以这样做.

c# lambda

9
推荐指数
2
解决办法
1671
查看次数

标签 统计

c# ×1

lambda ×1