我正在尝试编写一个除法方法,它接受 2 个参数。

public static decimal Divide(decimal divisor, decimal dividend)
{
    return dividend / divisor;
}

现在,如果除数为 0,我们得到不能被零除的错误,这没关系。

我想要做的是检查除数是否为 0,如果是,则将其转换为 1。有没有办法在我的方法中没有很多 if 语句的情况下做到这一点?我认为很多 if() 会造成困惑。我知道数学上不应该这样做,但我有其他功能。

例如:
if(divisor == 0)
{
    divisor = 1;
}
return dividend / divisor;

可以不用 if() 语句吗?

最佳答案

您可以执行这样的条件 if 语句。这与VB.net中的IIF相同

return dividend / ((divisor == 0) ? 1 : divisor);

确保你用 () 包裹你的后半部分,否则你会得到一个除法错误。

关于c# - 十进制值检查是否为零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/916224/

10-09 21:16