泛型委托学习(Func和Action)
来源:互联网 发布:网络古典电台哪个好 编辑:程序博客网 时间:2024/05/17 08:47
Func<TParams,TResult>
泛型委托。TParams是此委托封装的方法的参数类型,可以有0个或多个 但最多不能超过4个 TResult返回值类型
可以使用此委托表示一种能以参数形式传递的方法,而不用显式声明自定义委托。该方法必须与此委托定义的方法签名相对应。也就是说,封装的方法必须具有一个通过值传递给它的参数,并且必须返回值
例1:
static void Main(string[] args)
{
Func<string, string> funcTest = Demo;
Console.WriteLine(funcTest("aaaaaa"));
}
static string Demo(string s)
{
return s.ToUpper();
}
//输出AAAAAA
该 委托还可以与匿名方法一起使用!
例2:
Func<string ,string>funTest=delegate(string s) { return s.ToUpper(); };
Console.WriteLine(funcTest("aaaaaa"));
输出结果与例1一样
还可以将 lambda 表达式分配给 Func 委托
例3
Func<string, string> funcTest = s => s.ToUpper();
Console.WriteLine(funcTest("aaaaaa"));
输出结果都一样 使用Lambda表达式 更加简洁
但如果是没有返回值的呢?因为Func委托是一定要有返回值的 所以就要用Action了
Action<TParams>
该委托方法无返回值 TParams参数类型列表 只能是1到4个
例:
static void Main(string[] args)
{
Action<string> actionTest = Demo2;
actionTest("zhang");
}
static void Demo2 (string s)
{
Console.WriteLine(s.ToUpper());
}
输出ZHANG
(Action无法像Func与Lambda表达式连用)
- 泛型委托学习(Func和Action)
- Action 和 Func 泛型封装委托
- Func和Action委托
- Action、Func、Predicate 和 Converter 泛型委托详解
- Action<T>和Func<T>泛型委托
- Action<T>和Func<T>泛型委托
- Action<T>和Func<T>泛型委托
- Action<T>和Func<T>泛型委托
- C#学习笔记17-Action委托和Func委托
- 泛型Action<T>委托和Func<T>委托是系统定义的两个泛型委托
- 泛型委托 Predicate/Func/Action
- C# 泛型委托 Action/Func
- 泛型委托 Predicate/Func/Action
- 泛型委托Action与func
- Func与Action委托泛型介绍
- c#委托Action和Func
- Func和Action系统委托
- Func和Action系统委托
- 只需一步,让你马上变天才??????????????????????????????????????
- STL 源码剖析 算法 stl_numeric.h -- copy
- Android4.0设置界面修改总结(二)
- 利用opencv求图像重心
- 自旋锁及其衍生锁
- 泛型委托学习(Func和Action)
- 如何安装windows service
- pLsql 学习笔记(-)
- c++STL通用容器 之 集合
- 优秀程序员必备的15大技能
- 服务器数据推送功能实现
- 斐波那契博弈
- mv命令
- Cocos2d-x 3.0 开发(四)使用CocoStudio创建UI并载入到程序中