Challenge : Définition des Délégués
Glissez pour afficher le menu
Vous pouvez télécharger le code de base en clonant le dépôt Github.
Votre tâche consiste à définir un type de délégué appelé Operation, qui peut référencer les méthodes ayant la même signature que les méthodes max et avg.
Actuellement, il n'y a pas de définition de délégué, donc le programme ne se compile pas. Cependant, après avoir défini le type de délégué, vous devriez pouvoir compiler et exécuter le programme avec succès, ce qui indique que votre solution est correcte.
Utilisez la syntaxe delegate <return type> <type name> <parameter list> pour définir le type de délégué.
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;
}
}
}
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion