简单2布尔效率

时间:2016-06-18 14:12:39

标签: c# boolean-logic

只是一个快速的人 - 你知道什么时候你的大脑只是在看某事。只是看看是否有更好的"在布尔逻辑方面做到这一点。

Trace.WriteLine

2 个答案:

答案 0 :(得分:2)

我想这是你能达到的最好成绩。当然,假设您保持代码可读性和清晰度:

private RegenerationType AccquireRegenerationState (int floor, int playerFloor)
{
    var entranceExists = floorBlocks[floor].doorBlocks.Count != 0;

    var whatever = floor + 1 == playerFloor || !floorBlocks[floor + 1].isVisited;

    if (whatever)
    {
        return entranceExists ? RegenerationType.Still : RegenerationType.Limit;
    }
    else
    {
        return entranceExists ? RegenerationType.Prime : RegenerationType.Full;
    }
}

答案 1 :(得分:1)

bool entranceExists = (floorBlocks[floor].doorBlocks.Count != 0);
return
    (floor + 1 == playerFloor || !floorBlocks[floor + 1].isVisited)?
    (entranceExists? RegenerationType.Still: RegenerationType.Limit):
    (entranceExists? RegenerationType.Prime: RegenerationType.Full);