Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Challenge : Définition des Délégués | GUI Interactif
C# Avancé Avec .NET

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.

Note
Remarque

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.

Indice
expand arrow

Utilisez la syntaxe delegate <return type> <type name> <parameter list> pour définir le type de délégué.

Solution
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;
        }
    }
}    
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 2

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 2. Chapitre 2
some-alt