专栏名称: dotNET跨平台
专注于.NET Core的技术传播。在这里你可以谈微软.NET,Mono的跨平台开发技术。在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,Linux 主流平台
目录
相关文章推荐
今天看啥  ›  专栏  ›  dotNET跨平台

C# 实例详解委托之Func、Action、delegate

dotNET跨平台  · 公众号  ·  · 2024-10-07 08:00
    

主要观点总结

本文主要介绍了C#中的委托,包括Func委托、Action委托和自定义delegate的三种主要方式,并详细阐述了它们的使用场景和特点。

关键观点总结

关键观点1: 委托的定义和作用

委托是一种引用类型,定义了方法的签名并允许将方法作为参数传递或赋值给变量。

关键观点2: Func委托的特点和使用场景

Func委托是一种泛型委托,用于封装返回类型不为空(非void)的方法。它接受0到16个输入参数,并返回一个结果。常用于执行计算或处理并需要结果的操作。

关键观点3: Action委托的特点和使用场景

Action委托也是一种泛型委托,用于封装没有返回值(void)的方法。它同样有多个重载,接受0到16个输入参数。常用于执行某些操作,如打印日志、修改状态等。

关键观点4: 自定义delegate的特点和优势

除了内置的Func和Action委托外,C#还允许开发者定义自己的委托类型。自定义delegate提供了更大的灵活性,允许开发者定义与特定方法签名完全匹配的类型,特别适用于内置委托类型不满足需求的情况。


文章预览

在C#中,委托(delegate)是一种引用类型,它定义了方法的签名(参数和返回值类型)并允许将方法作为参数传递或赋值给变量。Func、Action和自定义delegate是C#中处理委托的三种主要方式。 1. Func 委托 Func 委托是一种泛型委托,用于封装返回类型不为空(非void)的方法。它有多个重载,可以接受0到16个输入参数,并返回一个结果。 示例代码: using  System; class   Program {      static   void   Main ( )     {          // 定义一个Func委托,接受两个int参数,返回一个int结果         Func < int ,  int ,  int >  add  = (a, b) => a + b;                   int  result =  add ( 5 ,  10 );  // 调用委托,执行加法操作         Console.WriteLine( "结果是: "  + result);  // 输出:结果是: 15     } } 2. Action 委托 与 Func 类似, Action 也是一种泛型委托,但它用 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览