并非所有代码路径都返回值.在c#

本文关键字:返回值 路径 代码 | 更新日期: 2023-09-27 18:16:24

所以这是学校的作业(我是初学者,这周开始学习c#)。我们有一个存储函数的类。这个功能应该检查一个人是否可以上旋转木马。变量:bool hasHeartConditionint年龄int厘米

public bool CanJoyride(int age, int cm, bool hasHeartCondition)
    {
        if (hasHeartCondition == true)
        {
            return false;
        }
        else if (hasHeartCondition == false)
        {
            if (age >= 18)
            {
                if (cm >= 130 && cm <= 210)
                {
                    return true;
                }
            }
            else if (age >= 12)
            {
                if (cm >= 150 && cm <= 210)
                {
                    return true;
                }
            }
            else
            {
                return false;
            }
        }
        else
        {
            return false;
        }
    }

我为这个做一个新问题的原因是我不能真正遵循这样的问题中的代码。因为我是新手

并非所有代码路径都返回值.在c#

您的问题是您在方法结束时不返回任何值。你可以像这样重写你的方法。这样更容易理解,应该能满足你的要求。

public bool CanJoyride(int age, int cm, bool hasHeartCondition)
{
    if (hasHeartCondition)        
        return false;

    if(age >= 18 && cm >= 130 && cm <= 210)
        return true;

     if (age >= 12 && cm >= 150 && cm <= 210)
        return true;
     return false;         
}

你应该避免用箭头方式写代码。这意味着要避免嵌套if,因为代码会变得不可读且难以理解。