c# - "not all code paths return a value"是什么意思?

标签 c#

--> 错误“Minesweeper.Game.Gewonnen()”:并非所有代码路径都返回值。

我做错了什么?

public bool Gewonnen()
{

  for (int y = 0; y < _boolArray.GetLength(0); y++)
  {
    for (int x = 0; x < _boolArray.GetLength(1); x++)
    {
      if (_boolArray[x, y] == false)
        return false;

      else
        return true;
    }
  }
}

最佳答案

这意味着并非所有可能的执行路径都会返回值。在您的示例中,循环甚至可能不会执行一次(当 _boolArray 长度为 0 时),如果发生这种情况,您的方法将不会返回任何内容。在方法末尾添加return false:

public bool Gewonnen() 
{
    for (int y = 0; y < _boolArray.GetLength(0); y++)
    {
         for (int x = 0; x < _boolArray.GetLength(1); x++)
         {
              if (_boolArray[x, y] == false)
                  return false;
              else
                  return true;
         }
    }

    return false;
}

关于c# - "not all code paths return a value"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19832005/

相关文章:

c# - 使用 Newtonsoft JSON 反序列化十六进制值

c# - 从 setter 返回值

c# - 实例化对象的不同方式

c# - 使用MenuItem值作为CommandParameter

c# - gRPC c# 文件下载/上传 + Web 客户端

c# - .NET 单元测试项目组织

c# - 使用 blob 触发的隔离 Azure 函数时如何将 blob 作为流获取?

c# - 在 visual studio 中更改 ctrl k+c 以生成 c 样式注释 (/**/) 而不是 c++ 样式注释 (//)

c# - 使用 Octokit 更新 GitHub 存储库中的文件

c# - 为什么这个 AJAX 调用返回整个页面内容?