返回方法中的if语句

本文关键字:if 语句 方法 返回 | 更新日期: 2023-09-27 18:29:34

我是一个初学者,对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;
}

返回方法中的if语句

您有两个选项。可以使用正则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);

你可以这样做,这只是一个首选项,但你应该在返回值之前将值存储在变量上。不要在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语句就是最好的选择。

使用三元运算符,如下所示:

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

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

这里甚至不需要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.
}

OR:

作为最佳实践,我建议使用Conditional Statement:

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