Avatar ·

如何在 C# 中将方法作为参数传递给另一个方法?

大家好!我刚开始学习 C#,遇到了一个问题。我有几个方法,它们做的事情几乎相同,但逻辑上略有不同。例如,我想对数字数组应用某种操作:要么将所有元素相加,要么相乘,要么找到最大值。我不想写三个独立的循环,而是想写一个通用的方法,它接受一个“动作”(另一个方法)并将其应用于数组。 我尝试这样做: ```csharp public void ProcessArray(int[] numbers, ??? operation) { for (int i = 0; i < numbers.Length; i++) { numbers[i] = operation(numbers[i]); } } ``` 但我不知道在 `???` 处该写什么。我听说过委托,但不知道如何正确声明和使用它们。你能用一个简单的例子解释一下如何将方法(例如 `int Square(int x)`)传递给另一个方法吗? 另外,我也想知道是否可以传递具有不同数量参数的方法?还有,在现代