0
private bool _invalidated
public void Invalidate()
{
    _invalidated = true;
}

或者

public void Invalidate()
{
    if(!_invalidated)
    {
        _invalidated = true;
    }
}

哪个会更快?

这将被多次调用。

4

2 回答 2

1

第一个是指令较少,不包含条件,所以它是可取的。但是,第二个可能会被足够智能的编译器/ JITer 优化掉。

于 2013-08-04T00:01:30.897 回答
0

正如安德烈亚斯所说,这取决于。正如 I4V 所说,意译,没关系。

我会选择第一个,更少的代码和更漂亮的(当然是主观的)。

于 2013-08-04T00:15:28.560 回答