统一库函数始终返回0

时间:2019-03-05 16:50:41

标签: c# function

我已经写了一个统一的库,一个函数应该返回播放的时间。用代码可能更容易解释。

public int UNI_TimePlayed(int timePlayed)
        {
            if (timePlayed != 60)
            {
                // division impossible, treat this exception here
                return timePlayed;
            }
            else
            {

                // it's safe to divide
                int timeInMin = timePlayed / 60;
                return timeInMin;
            }
        }

如果播放的时间不等于60秒,则应返回该值。如果大于或等于60,则执行方程式并返回新值。

当我统一调用它时,它将仅在我的计时器超过60秒后才能工作,否则,它将返回0。例如,我的计时器在统一下工作时,我会先记录它的值,然后再将其插入此功能。在某些情况下,插入的值为62,函数向我返回了正确的值。这次的计时器是23,插入时函数返回0?如您所见,我尝试使它仅返回插入的值(如果该值小于60),但它不起作用。

1 个答案:

答案 0 :(得分:2)

您使用的!=表示“不相等”。您应使用<表示“小于”。

public int UNI_TimePlayed(int timePlayed)
{
    if (timePlayed < 60) return timePlayed;
    return timePlayed / 60;
}

但是,值突然从几秒变为几分钟是非常令人惊讶的。返回包含单位的字符串似乎更自然。

public string UNI_TimePlayed(int timePlayed)
{
    if (timePlayed < 60) return $"{timePlayed} s";
    return $"{timePlayed / 60} min";
}