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.
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.
Verwende die Syntax delegate <Rückgabetyp> <Typname> <Parameterliste>, um den Delegat-Typ zu definieren.
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 < nums.Length; i++)
if (max < nums[i])
max = nums[i];
return max;
}
static float avg(int[] nums)
{
float sum = 0;
for(int i = 0; i < nums.Length; i++)
sum += nums[i];
return sum / nums.Length;
}
}
}
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen