[C#学习笔记]Func委托与Action委托
学习一项新知识的时候,最好的方法就是去实践它。
前言
《CLR via C#》这本神书真的是太有意思了!好的我的前言就是这个。
Fun
如果要用有输入参数,有返回值的委托,那么Func委托将满足你的要求。
Func泛型委托引用了一个带有一个返回值的方法,它可以传递0或者多到16个参数类型,和一个返回类型。
它可以没有传递参数,但是一定要有返回类型。
Func<out TResult>
Func<in T,out TResult>
Func<in T1,in T2,...,in T16, out TResult>
in:输入参数
out:输出参数,也就是返回值。
看下面的代码:
输出结果是:
利用Func委托和Lambda表达式替换了字符串
Action
Action委托有两种方式:无参数无返回值的委托,有至少一个最多16个的参数无返回值的泛型委托。
Action泛型委托根据输入参数个数的不同,Action委托有十六个重载。
总结
Action:无参数无返回值委托。
Action<T>:泛型委托,无返回值,根据输入参数的个数不同有十六个重载。
Func< out T>:无输入参数,有返回值。
Func<in T,out T>:有输入参数,有返回值,根据输入参数个数不同,有十六个重载。
Action和Func中可以使用Lambda和匿名方法处理方法体内逻辑。
本文来自博客园,作者:knqiufan,转载请注明原文链接:https://www.cnblogs.com/knqiufan/p/10480415.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本