1

Всем привет! Что делает символ '\b' в C#?

Единственное использование которое я нашёл, это он может в одной строчке изменять символы без Console.Clear():

 static void UpdateText(string text)
        {
            int commonPrefixLength = 0;
            int commonLength = Math.Min(currentText.Length, text.Length);
            while (commonPrefixLength < commonLength && text[commonPrefixLength] == currentText[commonPrefixLength])
            {
                commonPrefixLength++;
            }
        StringBuilder outputBuilder = new StringBuilder();
        outputBuilder.Append('\b', currentText.Length - commonPrefixLength);

        outputBuilder.Append(text.Substring(commonPrefixLength));


        int overlapCount = currentText.Length - text.Length;
        if (overlapCount &gt; 0)
        {
            outputBuilder.Append(' ', overlapCount);
            outputBuilder.Append('\b', overlapCount);
        }

        Console.Write(outputBuilder);
        currentText = text;
    }

alex
  • 23
  • 1
    https://ru.wikipedia.org/wiki/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D1%8E%D1%89%D0%B8%D0%B5_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8B BACKSPACE – Alexey Ten Dec 22 '21 at 10:43
  • 1
    Вот практический пример применения \b https://ru.stackoverflow.com/a/1240063/373567 - смотрите в коде на метод ReadPassword. – aepot Dec 22 '21 at 11:52

1 Answers1

3

Данный символ обозначает команду backspace и возвращает каретку на один символ назад, что позволяет перетереть последний символ строки.

Например, Console.WriteLine("1234\b") вернёт 1234, а Console.WriteLine("1234\b56") вернёт уже 12356

aepot
  • 49,560
Kanoka
  • 108