有人可以解释以下return语句的用法/含义: t> 1; (参见最后一句if语句最后一种方法)
代码来自名为“Reversi”http://en.wikipedia.org/wiki/Reversi
的游戏此方法会检查您是否附上其他玩家的石头。
public bool allowed(int x, int y, bool player)
{
int color;
if(player == true) // true = player is blue.
color= 1;
else color= -1;
if(stone[x,y] != 0)
return false;
else
{
for (int dx = -1; dx <= 1; dx ++)
{
for (int dy = -1; dy <= 1; dy ++)
{
if (dx != 0 || dy != 0) // 0, 0 must be skipped, own stone.
{
if (close(color, x, y, dx, dy))
return true;
}
}
}
}
return false;
}
public bool close(int color, int x, int y, int dx, int dy)
{
int s;
int testx;
int testy;
for(int t=1; t<stone.Length;t++)
{
testx = x + t * dx;
testy = y + t * dy;
if(testx >= board.Width || testx <= 0 || testy >= board.Heigth|| testy <= 0)
return false;
s = stone[x + t * dx, y + t * dy];
if (s == 0) return false;
if (s == color) return t>1;
}
return true;
}
答案 0 :(得分:6)
此代码:
return t > 1;
相当于:
if (t > 1)
{
return true;
}
else
{
return false;
}
除了后一种方法是不必要的冗长,不幸的是在实际代码中很常见。
答案 1 :(得分:2)
评估return
语句右侧的任何表达式,然后从函数返回该值。
在这种情况下,t可以大于1,或者不是 - 意味着它是true
或false
- 意味着true
或false
将返回,具体取决于t的值。
它完全等同于:
if(t>1)
return true;
else
return false;
答案 2 :(得分:1)
如果t大于1,则返回true,否则返回false。
答案 3 :(得分:1)
return t > 1;
与
相同if (t > 1)
return true;
else
return false;
与
相同bool greaterThanOne;
if (t > 1)
greaterThanOne = true;
else
greaterThanOne =false;
return greaterThanOne;
答案 4 :(得分:1)
return t>1
等于
if (t > 1)
{
return true;
}
else
{
return false;
}
还有另一种使用return
喜欢;
static string AmIAwesome(bool b)
{
return b ? "Yes, I'm" : "No, I'm not";
}
与第一个逻辑相同。