C#中的Action和Func 区别

Action只能委托必须是无返回值的方法

Fun只是委托必须有返回值的方法

 

一、【action<>】指定那些只有输入参数,没有返回值的委托

Delegate的代码:

public delegate void myDelegate(string str);
public static void HellowChinese(string strChinese)
{
  Console.WriteLine("Good morning," + strChinese);
  Console.ReadLine();
}
myDelegate d = new myDelegate(HellowChinese);
d("Mr wang");

 

用了Action之后呢:

 

public static void HellowChinese(string strChinese)
{
Console.WriteLine("Good morning," + strChinese);
Console.ReadLine();
}

Action<string> action = HellowChinese;
action("Spring.");

 


就是相当于省去了定义委托的步骤了。

 

二、func<> 这个和上面的那个是一样的,区别是这个有返回值!

public static string HelloEnglish(string strEnglish)
{
return "Hello." + strEnglish;
}

Func<string, string> f = HelloEnglish;
Console.WriteLine(f("Srping ji"));
Console.ReadLine();

 

---------------------  
原文:https://blog.csdn.net/jcx5083761/article/details/8552627  

posted @   巴蒂尔  阅读(1351)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
历史上的今天:
2015-02-22 SignalR搭建聊天室教程
点击右上角即可分享
微信分享提示