c#如何检查不存在的东西

时间:2018-04-20 15:00:00

标签: c# if-statement while-loop visual-studio-2017

我一直试图创造一个奥赛罗游戏,但我似乎无法检查一个不存在的案例(检查黑色令牌,如果它不在那里,什么都不做)

private void CaseClick(object sender, MouseEventArgs e)
    {
        Case allCases = (Case)sender;
        int a = 1;

        if (allCases.ColorToken == Case.Token.Nothing)
        {
            Case caseToModify;

            if (_turnIsBlack)
            {
                //Verify tokens from top to bottom
                if (Cases[allCases.Position.X, allCases.Position.Y + a].ColorToken == Case.Token.White)
                {
                    while (Cases[allCases.Position.X, allCases.Position.Y + a].ColorToken == Case.Token.White)
                    {
                        caseToModify = Cases[allCases.Position.X, allCases.Position.Y + a];
                        allCases.ColorToken = Case.Token.Black;
                        caseToModify.ColorToken = Case.Token.Black;
                        a++;
                        caseToModify.Refresh();
                        allCases.Refresh();
                        _turnIsBlack = false;
                    }
                }
            }
        }
    } 

我只是想知道是否有办法检查那里没有黑色标记。不需要为这个特定的代码,只是检查某些东西的例子,如果它不存在,什么也不做

该位置分配了坐标,如(0,0)(1,1),游戏为8x8,每个案例都分配了一个坐标

1 个答案:

答案 0 :(得分:0)

这样完全没问题。这些陈述非常普遍,虽然有时你可能会写一些奇特的东西,但我的建议是保持简单,除非表现非常重要。