예제 #1
0
    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);
        }
    }
예제 #2
0
    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");
    }