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

Pio*_*iak -9 c# console-application

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

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

        public string Working()
        {
            return "some string";
        }
    }
Run Code Online (Sandbox Code Playgroud)

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

我理解方法DoWork应该返回字符串类型,但我正在调用返回字符串的方法Working,那为什么会发生呢?

D-S*_*hih 5

你需要return一个DoWork函数的字符串值.

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

public string DoWork()
{
    Working();
}
Run Code Online (Sandbox Code Playgroud)

所以你可能会从DoWork函数返回一个值,因为DoWork方法签名必须返回一个字符串值.

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

    public string Working()
    {
        return "some string";
    }
}
Run Code Online (Sandbox Code Playgroud)