c# Action,Func,Predicate委托
2024-09-04 04:31:22
System命名空间下已经预先定义好了三中泛型委托,Action,Func和Predicate,这样我们在编程的时候,就不必要自己去定义这些委托了
Action是没有返回值的
Func是带返回值的
不同的.netframework版本下,能定义的参数个数可能不同
Predicate,只有一个参数,返回值是bool型
/// <summary>
/// Action泛型委托:.netframework4下 可以有0到16个参数
/// </summary>
public void TestAction()
{
Action a1 = () => Console.WriteLine("嘿嘿");//Lambda表达式
a1(); Action<string> a2 = s => Console.WriteLine("你好," + s);
a2("阿牛"); Action<int, int> a3 = delegate(int a, int b) {//匿名方法
Console.WriteLine("a+b=" + (a + b));
};
a3(, );
} /// <summary>
/// Func泛型委托:
/// </summary>
public void TestFunc()
{
Func<string> func1 = () => "你好";//表达式Lambda
Console.WriteLine(func1()); Func<string, string> func2 = s => { return "你好" + s; };//语句Lambda
Console.WriteLine(func2("阿牛")); Func<int, int, int> func3 = delegate(int a, int b)//匿名方法
{
return a + b;
};
Console.WriteLine(func3(, ));
} /// <summary>
/// Predicate泛型委托
/// </summary>
public void TestPredicate()
{
Predicate<int> pre1 = a => a == ;
if (pre1())
{
Console.WriteLine("3==2");
}
else
{
Console.WriteLine("3<>2");
} List<string> list = new List<string>();
list.Add("A1");
list.Add("A2");
list.Add("B1"); List<string> list2 = list.FindAll(s => s.StartsWith("B"));
List<string> list3 = list.FindAll(delegate(string s) {
return s.StartsWith("B");
});
}
最新文章
- Android插件化框架研究-DroidPlugin
- C# 使用 NPOI 库读写 Excel 文件(转载)
- 自定义ANDROID中EDITTEXT中的HINT文本的大小
- XML学习笔记(二)-- DTD格式规范
- 可以伸缩的查询面板 (searchBar)
- TigerDLNA for ios 集成Tlplayer
- css中>;,+,~的用法
- call、apply以及bind
- ZOJ 3913 Bob wants to pour water
- 用node编写自己的cli工具
- Linux CentOS7 安装 Qt 5.9.2
- mysql 与 oracle 的时间查询
- PowerShell-自定义函数(五)-参数互斥:ParameterSetName
- C++线程同步的四种方式(Windows)
- c# datatable按主键合并相同主键返回新的datatable
- 构建DHCP服务
- 微信服务号获取openid方法
- java下使用chromedriver获取访问页面状态码
- docker logs-查看docker容器日志
- 使用存储过程非常慢,但是直接执行SQL很快
热门文章
- mysql通配符进行模糊查询
- 零基础入门学习Python(32)--异常处理:你不可能总是对的
- Buffer.isBuffer()详解
- 一种RC滤波电路的验证
- layer弹层content写错导致div复制了一次,导致id失效 $().val() 获取不到dispaly:none div里表单的值
- CodeForcesGym 100212E Long Dominoes
- hihoCoder#1062 最近公共祖先&#183;
- hdu 4431 绝对值之和最小公式
- poj1845 数论 快速幂
- 移动端click事件延迟300ms该如何解决