Action<T>和Func<T>的区别.
2013-07-05 23:11
316 查看
1.1定义一个委托:
比如,我们原来写委托:
public delegate void myDelegate(string str); 这个委托表示,它只能委托那些只有一个输入值而没有返回值的方法,比如下面的这个方法。
1.2定义方法
public static void HellowChinese(string strChinese)
{
Console.WriteLine("早上好," + strChinese);
}
1.3调用
myDelegate d = new myDelegate(HellowChinese);
d("王总");
1.4使用action委托这个方法。
如果我们用原来的方法调用HellowChinese方法,觉得很麻烦,还得自己定义一个委托。那有没有不需要很明白的定义委托呢?
好了,微软就弄了action这么一个委托,我们只需要把符合它要求的方法传进去 就OK啦。。
我方法还是用这个:
public static void HellowChinese(string strChinese)
{
Console.WriteLine("早上好," + strChinese);
}
那我调用这个方法的时候,我就不需要自定义delegate了。我这样就可以:
Action<string> action = HellowChinese;
action("王总");
这样就省去了,减少了很多步骤。
向左转|向右转
二。func<> 这个和上面的那个是一样的,区别是这个有返回值!~~~
2.1原先我们定义delegate
public delegate string myDelegate(string str);
2.2.定义方法
public static string HellowEnglish(string strEnglish)
{
return "Hellow " + strEnglish;
}
2.3 调用
myDelegate d = new myDelegate(HellowEnglish);
d("Lanny");
2.4使用func调用
方法还是一样
public static string HellowEnglish(string strEnglish)
{
return "Hellow " + strEnglish;
}
但是我们不需要自定义delegate了。。如下
Func<string, string> f = HellowEnglish;
f("Lanny");
就可以了
2.5截图
向左转|向右转
相关文章推荐
- C# Func<T>、Action<T> 的区别于说明
- Func<T>、Action<T> 的区别于说明
- C# Action<T>、Func<T>、Predicate<T>委托的区别、用法
- C#中的Action<>和Func<> 委托区别
- Func<T>、Action<T> 的区别于说明
- Action<>和Func<> 区别
- Action<>和Func<>区别
- Func<T>、Action<T> 的区别于说明
- Delegate,Action<T>和Func<T>
- Func<TResult>委托,Action 委托,Tuple 类
- 配置文件Struts.xml <result>中type属性 redirect,redirectAction,chain的区别
- C#中的Action<>和Func<>
- C#委托Action、Action<T>、Func<T>、Predicate<T>
- C#的委托 Action<>和Func<>
- Action<T>,Func<T,ResultT>说明
- C#中的Action<>和Func<>以及传统的委托
- C#基础:委托之Action<T>和Func<T>的用法
- Func<T> 和 Action<T> 的一个用法
- action<> func<> 这2个委托使用和理解
- 配置文件Struts.xml <result>中type属性 redirect,redirectAction,chain的区别