在C#中,可以通过使用委托(delegate)或者是事件(event)来将方法作为参数传递。
using System;
public class Program
{
// 定义一个委托类型,它表示一个接受一个int参数并返回int的方法
public delegate int ProcessIntDelegate(int value);
// 使用委托的方法
public static int ProcessNumber(int number, ProcessIntDelegate process)
{
return process(number);
}
public static void Main()
{
// 创建一个匿名方法作为参数
ProcessIntDelegate anonymousMethod = delegate(int value)
{
return value * 2; // 将传入的数值翻倍
};
// 创建一个lambda表达式作为参数
ProcessIntDelegate lambdaExpression = value => value * 3;
int result1 = ProcessNumber(5, anonymousMethod);
int result2 = ProcessNumber(5, lambdaExpression);
Console.WriteLine($"Result with anonymous method: {result1}");
Console.WriteLine($"Result with lambda expression: {result2}");
}
}