static void Main(string[] args) { do { Console.ForegroundColor = ConsoleColor.Yellow; Console.Clear(); delegateConvertTemperature[] delArray = { new TemperatureConverterImp().CtoF, new TemperatureConverterImp().FtoC, StaticTempConverters.CtoK, StaticTempConverters.CtoRa, StaticTempConverters.CtoRe, StaticTempConverters.KtoC, StaticTempConverters.RatoC, StaticTempConverters.RetoC, }; double f = TechnicalClass.Validate("Введите температуру в Фаренгейтах: ", x => x >= -459.67); Console.WriteLine($"Переводим в Цельсия: {delArray[1](f):f3}"); double c = TechnicalClass.Validate("\nВведите температуру в Цельсия: ", x => x >= -273.15); Console.WriteLine($"Переводим в Фаренгейты:\t{delArray[0](c):f3}"); Console.WriteLine($"Переводим в Кельвины:\t{delArray[2](c):f3}"); Console.WriteLine($"Переводим в Ранкины:\t{delArray[3](c):f3}"); Console.WriteLine($"Переводим в Реомюры:\t{delArray[4](c):f3}"); Console.WriteLine("\nНажмите Escape, чтобы выйти, или любую другую клавишу, чтобы продолжыть"); } while (Console.ReadKey().Key != ConsoleKey.Escape); }
public static void Main() { do { Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; try { Console.OutputEncoding = Encoding.GetEncoding("Unicode"); Lenght = (int)TechnicalClass.Validate("Укажите координату y: ", x => x == (int)x); Width = (int)TechnicalClass.Validate("Укажите координату x: ", x => x == (int)x); Robot rob = new Robot(); // конкретный робот Steps delR = new Steps(rob.Right); // направо Steps delL = new Steps(rob.Left); // налево Steps delF = new Steps(rob.Forward); // вперед Steps delB = new Steps(rob.Backward); // назад Console.Write("Введите строку комманд: "); char[] commandsStringArray = TechnicalClass.WayParseAndValidate(Console.ReadLine()); Steps[] trace = new Steps[commandsStringArray.Length]; for (int i = 0; i < trace.Length; i++) { switch (commandsStringArray[i]) { case 'R': trace[i] = delR; break; case 'L': trace[i] = delL; break; case 'F': trace[i] = delF; break; case 'B': trace[i] = delB; break; } } string[,] matrix = MatrixGen(); for (int i = 0; i < trace.Length; i++) { matrix[Lenght - rob.y - 1, rob.x] = "+ "; trace[i]?.Invoke(); } matrix[Lenght - rob.y - 1, rob.x] = "* "; TechnicalClass.MatrixPrint(matrix); } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.WriteLine("\nНажмите Escape, чтобы выйти, или любую другую клавишу, чтобы продолжыть"); } while (Console.ReadKey().Key != ConsoleKey.Escape); }