Подсказки:
Код: Выделить всё
Enter your Query: []{SELECT * FROM Product}
Narrow Query: [WHERE Product.Price > ] {10}
Narrow Query: [AND Product.Price < ] {90}
- Каждая строка инициируется последовательностью Console. Напишите, а затем Console.ReadLine.
- Любые фигурные скобки (квадратные или фигурные) являются только иллюстрациями (для пояснения контекста). Они не будут отображаться во время взаимодействия.
- Весь текст до двоеточия включительно: записывается в консоль с помощью Console.Write и не может быть отредактирован с помощью пользователь. Именно тогда в идеале следует вызывать Console.ReadLine.
- Любой текст внутри фигурных скобок, включая фигурные скобки, вводится пользователем.
- Любой текст в квадратных скобках необходимо каким-то образом вставить в приглашение и сделать его доступным для редактирования, как если бы пользователь ввел его до нажатия клавиши Enter.
Хотя я, конечно, не хочу использовать такой механизм, как System.Windows .Forms.SendKeys, я открыт для подхода, который не требует, чтобы консоль имела фокус, и использует такой механизм, как PostMessage, с использованием известного дескриптора окна (hWnd). Не уверен, возможно ли это с помощью консольного приложения. При поиске многие пользователи не одобряли такие подходы как ненадежные по своей сути.
Обратите внимание, что этот вопрос касается исключительно Console.ReadLine, поскольку я не хочу использовать другие механизмы, такие как Read, ReadKey(intercept), KeyAvailable и т. д. Написание цикла ввода было бы слишком громоздким (работа с ConsoleKeyInfo и т. д.) для моего цель.
Любые указания на надежный подход будут приветствоваться.
Подробнее здесь: https://stackoverflow.com/questions/792 ... e-readline
Мобильная версия