if语句返回方法

时间:2014-11-07 02:17:25

标签: c# if-statement methods

我是一名非常基本的c#知识的初学者。

如何使用if语句编写返回方法?例如:我必须计算填充池的成本并选择最便宜的替代方案。我的选择是使用软管方法或消防引擎方法。

使用软管方法:如果池的大小< 11,然后费用为3.20 * 32,否则为32.00 + (size - 10)

使用消防引擎方法:费用为120.00 + (size* 1.50)

这就是我的尝试:

private  double hosePipeCost(double size)
{
    if (size <= 11) 
    { 
        double answer = size * 3.20;
        return answer;
    }
    else
    {
        32.00 + (size - 10);
    }
}

private  double fireEngineCost(double size)
{
    double answer = (size * 1.50) + 120.00;
    return answer;
}

4 个答案:

答案 0 :(得分:1)

您有两种选择。您可以使用常规if语句,也可以使用条件表达式。

if声明:

if( pool.size < 11){
    return 3.20 * 32;
}
else{
    return 120.00 + (pool.size* 1.50)
}

条件表达式:

return pool.size < 11 ?  3.20 * 32 : 120.00 + (pool.size* 1.50);

答案 1 :(得分:1)

你可以这样做,这只是一个偏好,但你应该在返回之前将值存储在一个变量上。在if语句中不要返回。

private  double hosePipeCost(double size)
{
    double answer = 0;
    if (size <= 11) 
    { 
        answer = size * 3.20;
    }
    else
    {
        answer = 32.00 + (size - 10);
    }
    return answer;
}

或者你可以在这种情况下使用三元运算符

return size <= 11 ?  size * 3.20 : 32.00 + (size - 10);

但是再一次,如果你想要可读性或者你有其他条件要满足,那么if语句就是你要去的地方。

答案 2 :(得分:0)

使用ternary operator,之类的内容:

return ((pool < 11) ? 3.20 * 22 : 32.00 + (size - 10))

你有了这个想法,适应你的情况。

答案 3 :(得分:0)

您甚至不需要else部分代码。你不需要在这里声明变量。

如下所示:

private  double hosePipeCost(double size)
{
    if (size <= 11) 
        return size * 3.20;       // If the condition is `True`. Returns the value and Ends the execution here.

    return 32.00 + (size - 10);   // If not returns and ends here.
}

作为最佳做法,我建议Conditional Statement

private  double hosePipeCost(double size)
{
    return size <= 11 ?  size * 3.20 : 32.00 + (size - 10);
}