User Input: UI
With the exercises in the last section, we have all we need for a much improved
User Input library class. This will be the class UI
.
We have the original PromptLine
, improved PromptInt
,
PromptDouble
, PromptIntInRange
, PromptDoubleInRange
, Agree
,
and assorted supporting functions.
The only changes to individual methods were to make
sure that the static methods are public.
Henceforth we will be using UI
in place of UIF
. In fact all the places UIF
was used before could be replaced by UI
:
It includes all the functionality of UIF
.
You can look at the code all together in ui/ui.cs.
There are even fancier ways of arranging for legal numeric input.
We have only been reading whole lines, but it is possible to read
individual characters with Console.ReadKey
,
without a newline being entered yet. A much more extensive advanced
subject is the special regular expression language for
describing arbitrary patterns in strings using the Regex
class.
Though we will not discuss the details, another slick replacement for UI
using these features is in the example class uifnt/UIFNT.cs.