函数类并不完全等同于委托,但两者之间确实有密切关系。在 C# 中,委托是一个类型,用来封装具有特定参数和返回值的方法。你可以将委托理解为函数的“引用类型”或者“类”。委托允许你将方法作为参数传递给其他方法,并且可以动态地调用这些方法。
委托和函数类的关系
-
委托的定义和作用 委托是一种类型,用于引用方法。它定义了方法的签名(参数和返回类型)。
示例:
public delegate int MathOperation(int x, int y);
这里,
MathOperation
是一个委托类型,它可以引用任何接受两个int
参数并返回int
的方法。用法:
MathOperation add = (a, b) => a + b; // 使用 Lambda 表达式 Console.WriteLine(add(3, 5)); // 输出 8
在这里,
MathOperation
就像一个函数类,用来承载一个具体的方法实现。
-
内置的委托类型(函数类的简化版) 为了简化自定义委托的定义,C# 提供了一些常用的内置委托类型,可以理解为通用的函数类:
Func
: 表示有返回值的方法。Action
: 表示没有返回值的方法。 <