#c_sharp #stack
Каким образом работает stack.pop() ? Хочу реализовать функцию Undo Записую в Stack текст с формы при изменении текста private void Output_tb_TextChanged(object sender, EventArgs e) { undoActions.Push(output_tb.Text); } Здесь возвращаю текст при нажатии кнопки Undo private void Undo_bt_Click(object sender, EventArgs e) { if (undoActions.Count<1) { return; } output_tb.Text = undoActions.Pop(); Но прежнее состояние текста появляется только при втором нажатии на кнопку Undo. Почему так происходит?
Ответы
Ответ 1
потому что последнее значение в стэке, такое же, как текущее значение в текстбоксе if (output_tb.Text != undoActions.Peek()) undoActions.Push(output_tb.Text);
Комментариев нет:
Отправить комментарий