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");
});
}

最新文章

  1. Android插件化框架研究-DroidPlugin
  2. C# 使用 NPOI 库读写 Excel 文件(转载)
  3. 自定义ANDROID中EDITTEXT中的HINT文本的大小
  4. XML学习笔记(二)-- DTD格式规范
  5. 可以伸缩的查询面板 (searchBar)
  6. TigerDLNA for ios 集成Tlplayer
  7. css中&gt;,+,~的用法
  8. call、apply以及bind
  9. ZOJ 3913 Bob wants to pour water
  10. 用node编写自己的cli工具
  11. Linux CentOS7 安装 Qt 5.9.2
  12. mysql 与 oracle 的时间查询
  13. PowerShell-自定义函数(五)-参数互斥:ParameterSetName
  14. C++线程同步的四种方式(Windows)
  15. c# datatable按主键合并相同主键返回新的datatable
  16. 构建DHCP服务
  17. 微信服务号获取openid方法
  18. java下使用chromedriver获取访问页面状态码
  19. docker logs-查看docker容器日志
  20. 使用存储过程非常慢,但是直接执行SQL很快

热门文章

  1. mysql通配符进行模糊查询
  2. 零基础入门学习Python(32)--异常处理:你不可能总是对的
  3. Buffer.isBuffer()详解
  4. 一种RC滤波电路的验证
  5. layer弹层content写错导致div复制了一次,导致id失效 $().val() 获取不到dispaly:none div里表单的值
  6. CodeForcesGym 100212E Long Dominoes
  7. hihoCoder#1062 最近公共祖先&#183;
  8. hdu 4431 绝对值之和最小公式
  9. poj1845 数论 快速幂
  10. 移动端click事件延迟300ms该如何解决