为什么我的for循环告诉我我将int转换为bool?

1 c# loops for-loop unity-game-engine

这是我的代码......

for (int Position = 0; CardsInDeck.Length; Position++) 
{
    if (RandomlySelectedCard == CardsInDeck [Position]) 
    {
        Position = 0;
    } else {
        CardsInDeck [Position] = RandomlySelectedCard;
    }
}
Run Code Online (Sandbox Code Playgroud)

Unity告诉我它不能将int转换为bool,但我已经检查了所有内容并且看起来很好.顺便说一句,我正在制作纸牌游戏.

Soh*_*awn 6

你的for循环说:

for (int Position = 0; CardsInDeck.Length; Position++) 
Run Code Online (Sandbox Code Playgroud)

for循环中的第二个参数应该是一个条件,因此它应该是:

for (int Position = 0; Position < CardsInDeck.Length; Position++)
Run Code Online (Sandbox Code Playgroud)

  • @JamesBrodski很好.不要忘记这个http://meta.stackexchange.com/a/5235 (2认同)