C#控制台应用程序返回:“并非所有代码路径都返回值”

时间:2018-10-02 22:18:26

标签: c# console-application

我有一个只有两个方法的简单类:

public class SomeType
    {
        public string DoWork()
        {
            Working();
        }

        public string Working()
        {
            return "some string";
        }
    }

当我尝试构建时,出现错误:'SomeType.DoWork()':并非所有代码路径都返回值'。

我知道DoWork方法应该返回字符串类型,但是我将方法称为Working,它返回字符串,那么为什么会出现这种情况?

2 个答案:

答案 0 :(得分:5)

您需要return函数中的字符串值DoWork

此代码仅执行Working函数,但未从DoWork函数返回字符串值。

public string DoWork()
{
    Working();
}

因此您可能会从DoWork函数返回一个值,因为DoWork方法签名必须返回一个字符串值。

public class SomeType
{
    public string DoWork()
    {
        return Working();
    }

    public string Working()
    {
        return "some string";
    }
}

答案 1 :(得分:2)

方法Working()将字符串返回到方法DoWork()。但是DoWork()不返回任何内容。可能您想使用return Working();

您可以捕获返回值,使用它修改/处理/执行某些操作,然后需要返回其他内容。

否则,如果您不想从签名中返回任何内容,则可以将签名更改为public void DoWork()

但是这些都是编程的基础。