Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Challenge: Defining Delegates | Interaktive GUI
Fortgeschrittenes C# mit .NET

Challenge: Defining Delegates

Swipe um das Menü anzuzeigen

Du kannst den Basis-Code herunterladen, indem du das Github-Repository klonst.

Deine Aufgabe ist es, einen Delegat-Typ namens Operation zu definieren, der auf Methoden mit derselben Signatur wie die Methoden max und avg verweisen kann.

Note
Hinweis

Derzeit ist kein Delegat definiert, daher lässt sich das Programm nicht kompilieren. Nachdem du jedoch den Delegat-Typ definiert hast, solltest du das Programm erfolgreich kompilieren und ausführen können, was darauf hinweist, dass deine Lösung korrekt ist.

Tipp
expand arrow

Verwende die Syntax delegate <Rückgabetyp> <Typname> <Parameterliste>, um den Delegat-Typ zu definieren.

Lösung
expand arrow
using System.ComponentModel.DataAnnotations;

namespace DelegateIntro
{
    internal class Program
    {
        // Write code below this line
        delegate float Operation(int[] nums);
        // Write code above this line

        static void Main(string[] args)
        {
            int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

            Console.WriteLine(arrayMethod(max, nums));
            Console.WriteLine(arrayMethod(avg, nums));
        }

        static float arrayMethod(Operation opr, int[] nums)
        {
            return opr(nums);
        }
        
        static float max(int[] nums)
        {
            int max = nums[0];
            for(int i = 1; i &lt; nums.Length; i++)
                if (max &lt; nums[i])
                    max = nums[i];
            return max;
        }

        static float avg(int[] nums)
        {
            float sum = 0;
            for(int i = 0; i &lt; nums.Length; i++)
                sum += nums[i];
            return sum / nums.Length;
        }
    }
}    
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 2

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 2. Kapitel 2
some-alt