在这些简单的例子中哪个更好?

时间:2013-08-03 23:57:11

标签: c#

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

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

哪个更快?

这将被多次调用。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

正如安德烈亚斯所说,这取决于。正如I4V所说,转述,无所谓。

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