using System.Text; using Numbers.NumberFactory; using Numbers.NumberString; Console.OutputEncoding = Encoding.UTF8; NumberStringRun(); Console.WriteLine(Environment.NewLine); NumberFactoryRun(); return; static void NumberStringRun() { Console.WriteLine("*** NumberString ***"); Console.WriteLine("Extract digits from strings"); Console.Write("Enter text: "); var numberString = new NumberString(Console.ReadLine()!); Console.Write($"Contained digits: {string.Join(" ", numberString)}"); Console.WriteLine(); Console.Write("Press any key to continue..."); Console.ReadKey(); } static void NumberFactoryRun() { var evenRange = (Lower: 3, Upper: 9); var primeRange = (Lower: 1, Upper: 15); Console.WriteLine("*** NumberFactory ***"); var evenNumbers = Factory.Create(NumberType.Even, evenRange.Lower, evenRange.Upper); Console.WriteLine($"Even numbers between {evenRange.Lower} and {evenRange.Upper}: " + $"{Format(evenNumbers)}{Environment.NewLine}"); var primeNumbers = Factory.Create(NumberType.Prime, primeRange.Lower, primeRange.Upper); Console.Write($"Prime numbers between {primeRange.Lower} and {primeRange.Upper}: " + $"{Format(primeNumbers)}{Environment.NewLine}"); Console.Write("Press any key to exit..."); Console.ReadKey(); return; static string Format(IEnumerable numbers) => string.Join(" ", numbers); }