Program.cs 1.02 KB
Newer Older
Uwe Wienkop's avatar
Uwe Wienkop committed
1
2
3
4
5
6
using System;

namespace _08DelegateIntro
{
    class Program
    {
Uwe Wienkop's avatar
Uwe Wienkop committed
7
8
9
        // Firma-A hat dieses Programm erstellt
        delegate double MyFunction(double x);
        static void Wertetabelle(double von, double bis, MyFunction funktion)
Uwe Wienkop's avatar
Uwe Wienkop committed
10
        {
Uwe Wienkop's avatar
Uwe Wienkop committed
11
12
            for (double x = von; x <= bis; x += 1)
                Console.WriteLine($"{x,6:f2} | {funktion(x),10:f4}");
Uwe Wienkop's avatar
Uwe Wienkop committed
13
14
            Console.WriteLine("-------------------");
        }
Uwe Wienkop's avatar
Uwe Wienkop committed
15
16
17
18
        // funktion ist eine Variable, die eine Referenz auf eine Funktion übergeben bekommt

        // Firma-B möchte es verwenden UND MODIFIZIEREN
        static double MeinQuadrieren(double xx)
Uwe Wienkop's avatar
Uwe Wienkop committed
19
        {
Uwe Wienkop's avatar
Uwe Wienkop committed
20
            return xx * xx;
Uwe Wienkop's avatar
Uwe Wienkop committed
21
        }
Uwe Wienkop's avatar
Uwe Wienkop committed
22
        static double ZweiX(double x) => 2 * x;
Uwe Wienkop's avatar
Uwe Wienkop committed
23
24
        static void Main(string[] args)
        {
Uwe Wienkop's avatar
Uwe Wienkop committed
25
26
27
28
29
            Wertetabelle(1, 4, Math.Sin);
            Wertetabelle(1, 3, MeinQuadrieren);
            Wertetabelle(1, 3, ZweiX);
            Wertetabelle(1, 3, delegate (double a) { return 3 * a; });
            Wertetabelle(1, 3, b => 4 * b);
Uwe Wienkop's avatar
Uwe Wienkop committed
30
31
32
        }
    }
}