如何正确使用IF声明

时间:2013-10-02 20:28:20

标签: c# security if-statement callstack

哪一个是正确的,为什么

在两个示例中,我们都有一个函数来确定某个字符串是否有效......

(使用此处未定义的其他功能)

private Validator = new Validator();

public Boolean IsValid(String foo)
{
    if (Validator.Validate(foo))
    {
        return true;
    }
    else
    {
        return false;
    }
}

在第二个场景中,我们有一个以TRUE语句结束而没有其他语句的函数。

private Validator = new Validator();

public Boolean IsValid(String foo)
{
    if (!Validator.Validate(foo))
    {
        return false;
    }

    return true;
}

现在INB4请不要说你可以这么简单地做到这一点

return Validator.Validate(foo);

如何保存一些不是我想知道的内容...但是对于使用一种方法或另一种方法的含义和未知的后果(对我而言)。

2 个答案:

答案 0 :(得分:0)

因为两个IsValid()方法都不做任何其他方法,所以它们是等效的。

所有3都是正确的。第三个是我的偏好,因为它的代码较少,在这种情况下仍然非常易读。

答案 1 :(得分:-1)

我认为最好的解决方案是:

public bool IsValid(String foo)
{
    return (Validator.Validate(foo))? true : false;
}

此外,条件表达式易于理解,并且是内联的