Вы можете перебирать строку в обратном порядке, создавая массив символов на ходу. Каждый раз, когда вы нажимаете клавишу Backspace, увеличиваете счетчик, и каждый раз, когда вы нажимаете нормальный символ, пропускайте его, если ваш счетчик ненулевой, и уменьшайте счетчик.
Я не уверен, какова лучшая структура данных C # для управления этим, а затем для быстрого получения строки в правильном порядке. У StringBuilder
есть метод Insert
, но я не знаю, будет ли он эффективен для продолжения вставки символов в начале или нет. Вы можете поместить символы в стек и нажать ToArray()
в конце - это может быть или не быть быстрее.