lambda表达式对比
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();
}
    }
}
lambda表达式对比的更多相关文章
- 函数式编程--lambda表达式对比匿名内部类
		从前面的整理中我们看出了,Lambda表达式其实是匿名内部类的一种简化,因此它可以部分取代匿名内部类. 1,Lambda表达式与匿名内部类存在如下相同点: 1),Lambda表达式与匿名内部类一样,都 ... 
- 委托、匿名函数到lambda表达式
		在C#2.0之前就有委托了,在2.0之后又引入了匿名方法,C#3.0之后,又引入了Lambda表达式,他们三者之间的顺序是:委托->匿名表达式->Lambda表达式,微软的一步步升级,带给 ... 
- C#编程(四十三)----------Lambda表达式
		Lambda表达式 案例: using System; using System.Collections.Generic; using System.Linq; using System.Text; ... 
- Linq表达式和Lambda表达式用法对比
		什么是Linq表达式?什么是Lambda表达式?前一段时间用到这个只是,在网上也没找到比较简单明了的方法,今天就整理了一下相关知识,有空了再仔细研究研究 public Program() { List ... 
- 对比讲解lambda表达式与传统接口函数实现方式
		在本号之前写过的一些文章中,笔者使用了lambda表达式语法,一些读者反映说代码看不懂.本以为java 13都已经出了,java 8中最重要特性lambda表达式大家应该都掌握了,实际上还是存在大量的 ... 
- Linq表达式、Lambda表达式你更喜欢哪个?
		什么是Linq表达式?什么是Lambda表达式? 如图: 由此可见Linq表达式和Lambda表达式并没有什么可比性. 那与Lambda表达式相关的整条语句称作什么呢?在微软并没有给出官方的命名,在& ... 
- 背后的故事之 - 快乐的Lambda表达式(一)
		快乐的Lambda表达式(二) 自从Lambda随.NET Framework3.5出现在.NET开发者眼前以来,它已经给我们带来了太多的欣喜.它优雅,对开发者更友好,能提高开发效率,天啊!它还有可能 ... 
- 背后的故事之 - 快乐的Lambda表达式(二)
		快乐的Lambda表达式 上一篇 背后的故事之 - 快乐的Lambda表达式(一)我们由浅入深的分析了一下Lambda表达式.知道了它和委托以及普通方法的区别,并且通过测试对比他们之间的性能,然后我们 ... 
- C# Lambda表达式
		C# Lambda表达式 Lambda表达式 "Lambda表达式"是一个匿名函数,是一种高效的类似于函数式编程的表达式,Lambda简化了开发中需要编写的代码量.它可以包含表达式 ... 
随机推荐
- Android之圆角矩形
			安卓圆角矩形的定义 在drawable文件夹下,定义corner.xml <?xml version="1.0" encoding="utf-8"?> ... 
- 安卓向服务器发送List数据
			第一步: 首先写一个自定义的JavaBean,以UserInfo.java为例,需要实现对象序列化的接口,因为之后输出流对象需要实现输出可序列化的对象.不这样的话,后续时发送时会报异常 package ... 
- Mac OS X 上的安装nsq并使用
			安装: brew install nsq 使用: The following steps will run a small NSQ cluster on your local machine and ... 
- 动态链接库(dll)简介(转)
			DLL 是 Dynamic Link Library 的缩写,译为“动态链接库”.DLL也是一个被编译过的二进制程序,可以被其他程序调用,但与 exe 不同,DLL不能独立运行,必须由其他程序调用载入 ... 
- Android虚拟机中的sqlite数据库文件
			Android虚拟机中的sqlite数据库文件 ① 
- DFS/BFS Codeforces Round #301 (Div. 2) C. Ice Cave
			题目传送门 /* 题意:告诉起点终点,踩一次, '.'变成'X',再踩一次,冰块破碎,问是否能使终点冰破碎 DFS:如题解所说,分三种情况:1. 如果两点重合,只要往外走一步再走回来就行了:2. 若两 ... 
- javascript继承扩展类方法实现
			javascript没有原生的继承语法,这确实很让人困惑,但是广大人民群从的智慧是无穷的.最近呢,正尝到一点从源码中学习的甜头,不分享一下实在难以平复激动的心情.前不久改造视频播放插件的时候,找到了v ... 
- TYVJ P1004 滑雪 Label:记忆化搜索
			背景 成成第一次模拟赛 第三道 描述 trs喜欢滑雪.他来到了一个滑雪场,这个滑雪场是一个矩形,为了简便,我们用r行c列的矩阵来表示每块地形.为了得到更快的速度,滑行的路线必须向下倾斜. ... 
- 【BZOJ】1084: [SCOI2005]最大子矩阵(DP)
			http://www.lydsy.com/JudgeOnline/problem.php?id=1084 有一个1A--- 本题没看懂,,不会啊囧..感觉完全设不了状态..看了题解,囧,m<=2 ... 
- mysql的jdbc入门学习小结
			转自:专注JavaWeb开发 http://www.javaweb1024.com/data/MySQL/2015/04/25/618.html 一.jdbc基本概念jdbc : Java Datab ... 
