static void Main(string[] args) { TemperatureConverterImp temperatureConverter = new TemperatureConverterImp(); delegateConvertTemperature[] converter = new delegateConvertTemperature[] { temperatureConverter.ToFahrenheit, StaticTempConverters.ToKelvin, StaticTempConverters.ToReaumur, StaticTempConverters.ToRankin }; //delegateConvertTemperature converterToCelsius = new delegateConvertTemperature(temperatureConverter.ToCelsius); //delegateConvertTemperature converterToFahrenheit = new delegateConvertTemperature(temperatureConverter.ToFahrenheit); string[] names = new string[] { "Fahrenheit ", "Kelvin ", "Reaumur ", "Rankin " }; Console.WriteLine("Введите вещественное число - температуру по шкале Цельсия:"); try { double temperature = double.Parse(Console.ReadLine()); for (int i = 0; i < converter.Length; i++) { Console.WriteLine(names[i] + Math.Round(converter[i](temperature), 3)); } } catch (Exception e) { Console.WriteLine("Incorrect input!", e); } }
public static void Main() { var converter = new TemperatureConverterImp(); // Следующие два способа совершенно одинаковы, см. sharplab.io: var toCelsius = new delegateConvertTemperature(converter.ToCelsius); delegateConvertTemperature toFarenheits = converter.ToFarenheits; Console.WriteLine($"100⁰C = {toFarenheits(100)}⁰F"); Console.WriteLine($"100⁰F = {toCelsius(100)}⁰C"); }