C# 面试题
目录

C# 中 Action 和 Func 委托的区别

· 约 3 分钟读完 · 第 17 / 183 章

推荐答案

在C#中,Action和Func都是预定义的委托类型,但它们的主要区别在于返回值类型:

  • Action:用于表示没有返回值的方法。它可以接受0到16个输入参数。
  • Func:用于表示有返回值的方法。它可以接受0到16个输入参数,并且最后一个泛型参数表示返回值的类型。

本题详细解读

Action 委托

Action委托用于封装没有返回值的方法。它可以接受0到16个输入参数。例如:

Func 委托

Func委托用于封装有返回值的方法。它可以接受0到16个输入参数,并且最后一个泛型参数表示返回值的类型。例如:

主要区别

  1. 返回值:

    • Action没有返回值。
    • Func有返回值,且最后一个泛型参数指定返回值的类型。
  2. 参数数量:

    • Action和Func都可以接受0到16个输入参数。
  3. 使用场景:

    • 当你需要封装一个没有返回值的方法时,使用Action。
    • 当你需要封装一个有返回值的方法时,使用Func。

示例对比

通过以上示例可以看出,Action和Func的主要区别在于是否有返回值,以及如何使用它们来封装不同的方法。