c# - 如何使用 if 语句返回此变量?

标签 c# boolean

我知道这可能是个愚蠢的问题,但答案很简单,但在互联网上搜索了一个小时后,我找不到解决这个问题的方法;

    public bool GetCollision(int x, int y)
    {
        bool isPassable;

        if (x < 0 || x >= 20)
        {
            isPassable = false;
        }

        if (y < 0 || y >= 20)
        {
            isPassable = true;
        }

        return isPassable;
    }

在倒数第二行它说 isPassable 是未分配的...但很明显我在 if 语句中分配给它。我一定对“如果”陈述存在一些根本性的误解。

那么,我该怎么做呢?非常感谢。

最佳答案

那是因为它没有明确设置默认值。默认情况下将 isPassable 设置为 False 即可。


你也可以这样做:

return (!(x < 0 || x >= 20) && (y < 0 || y >= 20))

编辑:上述解决方案仅在您的 IF 之间存在 AND 关系时才有效。

关于c# - 如何使用 if 语句返回此变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13947695/

相关文章:

c# - 是否有不区分大小写的 string.Replace 替代方法?

Python "in"不检查类型?

boolean - 将 4 个与非门简化为 1 个异或门 boolean 代数?

c# - 如何转换二进制图像并在 Repeater 中显示?

c# - 如何知道TextEdit中当前的可见性偏移量?

c# - 我应该在读取 ElapsedMilliseconds 之前调用 Stop 吗?

java - 在输入中包含条件

c# - 如何在 iTextSharp 中旋转文本?

python - 如何在 Pandas 数据框中创建一个 boolean 空列?

JSON 提供者 jackson 使用 boolean 类型序列化和反序列化的问题