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