using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace lambda
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("传统的委托代码示例:");
FindListDelegate();
Console.WriteLine("\n");
Console.WriteLine("使用匿名方法的示例:");
FindListAnonymousMethod();
Console.WriteLine("\n");
Console.WriteLine("使用Lambda的示例: ");
FindListLambdaExpression();
}
//传统调用委托的示例
private static void FindListDelegate()
{
List<string> list=new List<string>();
list.AddRange(new string[]{"ASP.NET课程","J2EE课程","PHP课程","数据结构课程"});
Predicate<string> finPredicate=new Predicate<string>(IsBookCategory);
List<string> BookCategory = list.FindAll(finPredicate);
foreach (string str in BookCategory)
{
Console.WriteLine("{0}\t",str);
}
}

private static bool IsBookCategory(string str)
{
return str.EndsWith("课程")?true:false;
}

private static void FindListAnonymousMethod()
{
List<string> list = new List<string>();
list.AddRange(new string[] { "ASP.NET课程", "J2EE课程", "PHP课程", "数据结构课程" });
List<string> bookCategory = list.FindAll(delegate(string str)
{
return str.EndsWith("课程")?true:false;
});
foreach (string str in bookCategory)
{
Console.WriteLine("{0}\t",str);
}
}

private static void FindListLambdaExpression()
{
List<string> list = new List<string>();
list.AddRange(new string[] { "ASP.NET课程", "J2EE课程", "PHP课程", "数据结构课程" });
List<string> bookCategory=list.FindAll((string str)=>str.EndsWith("课程"));
foreach (string str in bookCategory)
{
Console.WriteLine("{0}\t",str);
}
Console.ReadLine();

}
}
}

转载于:https://www.cnblogs.com/sunzgod/p/4171710.html

lambda表达式对比相关推荐

  1. Java 8 Lambda 表达式解析

    Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性.使用 Lambda 表达式可以使代码变的更加简洁紧凑.坦白的说,初次看见Lambda表达式瞬间头就大了,为了更好的理解, ...

  2. Java 8 Lambda 表达式解析 1

    Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性.使用 Lambda 表达式可以使代码变的更加简洁紧凑.坦白的说,初次看见Lambda表达式瞬间头就大了,为了更好的理解, ...

  3. Linq表达式和Lambda表达式用法对比

    什么是Linq表达式?什么是Lambda表达式? 前一段时间用到这个只是,在网上也没找到比较简单明了的方法,今天就整理了一下相关知识,有空了再仔细研究研究 public Program() { Lis ...

  4. 技术图文:Python 匿名函数 VS. C# Lambda表达式

    背景 前段时间在知识星球上立了一个Flag,至少写10篇关于 Python,Matlab 和 C# 对比的总结. 这是第 2 篇,从定义和应用两个角度来对比 Python 的匿名函数 与 C# 的La ...

  5. 不少Java程序员都觉得Lambda表达式很鸡肋,它到底有何用呢?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:https://urlify.cn/B3uiI3 # 什么是 ...

  6. 牛逼哄哄的 Lambda 表达式,简洁优雅就是生产力!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:Sevenvidia https://www.zhihu.c ...

  7. SQL、Linq和Lambda表达式 的关系

    首先说说这三者完全是三种不同的东西,SQL是结构化查询语言(Structured Query Language)简称,这大家再熟悉不过了,下面主要介绍LINQ和Lambda表达式的基本概念以及同一查询 ...

  8. Lambda 表达式有何用处?如何使用?

    强烈推荐!!! 作者:Sevenvidia 链接:https://www.zhihu.com/question/20125256/answer/324121308 来源:知乎 著作权归作者所有.商业转 ...

  9. java lambda表达式_高性能的 Lambda 表达式,简洁优雅图文并茂

    来源:知乎 Mingqi 链接:https://www.zhihu.com/question/20125256/answer/324121308 有网友问,Lambda 表达式有何用处?如何使用?在P ...

最新文章

  1. java 滚轮页面缩放_急..JAVA 在画布上画拖动滚动条可扩大缩小的长方形
  2. Struts2-整理笔记(三)结果处理跳转、获得servletAPI原生
  3. 信息系统项目管理案例3
  4. 【机器学习实战】——常见函数积累
  5. python 数学基础_Python3数学基础 - 随笔分类 - 既生喻何生亮 - 博客园
  6. mysql 自动递增值归零_修改MySQL自动递增值
  7. Delphi窗体显示Echarts图表
  8. matlab 追赶法
  9. NLP领域,哪些综述性的文章值得推荐?
  10. 2020年“华为杯”中国研究生数学建模竞赛
  11. 3dmax全局材质灯光细分插件_【3D脚本插件】如何利用插件快速修改全局灯光材质细分...
  12. java中的异或交换位置_java异或实现两个变量交换
  13. 桌面上的计算机图标是一个,电脑桌面上计算机图标不见如何找回
  14. 如何快速高效的进入新的知识领域
  15. 新旧Macbook下微信聊天记录的转移方法
  16. 钉钉在线课堂回看发给对方观看需要这样做
  17. 中毒解决方法(http://www.xn--******.com)
  18. java中测长度的方法,java获取文件大小的几种方法
  19. 使用live-server踩过的坑
  20. 网页无法在微信内访问怎么办,微信跳转链接的实现方法

热门文章

  1. anaconda版本选择_Python环境搭建之Anaconda快速学习
  2. 我的YUV播放器MFC小笔记:解析文件名称
  3. python怎么编写流氓软件_PBot很多程序员都知道吧?深度分析一款基于python的恶意软件!...
  4. 【Flink】未解决 FLink 写 hive MemoryManager New Memory allocation smaller than the minimum allocation size
  5. 【ElasticSearch】Es 源码之 PersistentTasksExecutorRegistry 源码解读
  6. 60-30-012-使用-Kafka不停机删除topic数据(自动建立topic)md
  7. 【Docker】Mac下Docker启动Kubernetes处于一直启动中(卡死)
  8. 【ES】ES检索的时候特殊字符该怎么处理
  9. JsonView插件的使用
  10. 集合类 List 的那些坑