Comment passer une méthode en paramètre à une autre méthode en C#?
Bonjour à tous! Je viens de commencer à apprendre C# et j'ai rencontré un problème. J'ai plusieurs méthodes qui font presque la même chose, mais avec de petites différences dans la logique. Par exemple, je veux appliquer une opération à un tableau de nombres : additionner tous les éléments, les multiplier, trouver le maximum. Au lieu d'écrire trois boucles séparées, je voudrais écrire une méthode universelle qui prend une "action" (une autre méthode) et l'applique au tableau.
J'ai essayé de faire ceci :
```csharp
public void ProcessArray(int[] numbers, ??? operation)
{
for (int i = 0; i < numbers.Length; i++)
{
numbers[i] = operation(numbers[i]);
}
}
```
Mais je ne sais pas quoi mettre à la place de `???`. J'ai entendu parler des délégués, mais je ne comprends pas comment les déclarer et les utiliser correctement. Pouvez-vous expliquer avec un exemple simple comment passer une méthode (par exemple, `int Square(int x)`) à une autre méthode?
Je suis également curieux de savoir si on peut passer des méthodes avec un nombre différent de paramètres. Et existe-t-il dans le C# moderne...
No answers yet.
Connectez-vous pour laisser une réponse