马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

C#中的Action<>和Func<>

[复制链接]
查看4832 | 回复1 | 2013-9-13 17:10:48 | 显示全部楼层 |阅读模式

其实他们两个都是委托【代理】的简写形式。

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

Delegate的代码:


[C#] 纯文本查看 复制代码
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之后呢:

[C#] 纯文本查看 复制代码
public static void HellowChinese(string strChinese)  
{  
    Console.WriteLine("Good morning," + strChinese);  
    Console.ReadLine();  
}  
 
Action<string> action = HellowChinese;  
action("Spring.");  

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



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

[C#] 纯文本查看 复制代码
public static string HelloEnglish(string strEnglish)  
{  
    return "Hello." + strEnglish;  
}  
 
Func<string, string> f = HelloEnglish;  
Console.WriteLine(f("Srping ji"));  
Console.ReadLine();  


C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
headindotcn | 2013-9-16 10:11:39 | 显示全部楼层
学习了
it招聘
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则