Всегда возвращает true, если стек содержит разные значения

Я пытаюсь сравнить два стека и вернуть true, если они одинаковы, а если они ложные, вернуть false. Но эта функция всегда возвращает false.

      public bool Check_Winner()
{
    int[] tower3Array = ui.tower3.ToArray();
    int[] tower4Array = ui.tower4.ToArray();

    if (tower3Array.Length != tower4Array.Length)
    {
         return false;
    }

    for (int i = 0; i < tower3Array.Length; i++)
    {
        if (tower3Array[i] != tower4Array[i])
        {
            return false;
        }
    }

    return true;
}

1 ответ

Ваш код выглядит правильно. Проверьте, есть ли в стеках одинаковые элементы в одном и том же порядке, используя их массивы. Если массивы имеют разную длину, вернуть false. В противном случае проверьте каждый элемент и верните false, если они не совпадают. Используйте операторы отладки или точки останова для проверки данных стека и файла Stack. Свойство емкости для проверки их емкости.

Другие вопросы по тегам