C# 传统的委托、匿名方法、Lambda对比
来源:互联网 发布:mac系统怎么卸载flash 编辑:程序博客网 时间:2024/06/05 19:00
<span style="font-size:18px;">using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace LambdaDemo { class Program { static void Main(string[] args) { Console.WriteLine("传统的委托代码示例:"); FindListDelegate(); Console.Write("\n"); Console.WriteLine("使用匿名方法的示例:"); FindListAnonymousMethod(); Console.Write("\n"); Console.WriteLine("使用Lambda的示例:"); FindListLambdaExpression(); } //传统的调用委托的示例 static void FindListDelegate() { //先创建一个泛型的List类 List<string> list = new List<string>(); list.AddRange(new string[] { "ASP.NET课程","J2EE课程", "PHP课程", "数据结构课程" }); Predicate<string> findPredicate = new Predicate<string>(IsBookCategory); List<string> bookCategory = list.FindAll(findPredicate); foreach (string str in bookCategory) { Console.WriteLine("{0}\t", str); } } //谓词方法,这个方法将被传递给FindAll方法进行书书籍分类的判断 static bool IsBookCategory(string str) { return str.EndsWith("课程") ? true : false; } //使用匿名方法来进行搜索过程 static void FindListAnonymousMethod() { //先创建一个泛型的List类 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); } } //使用Lambda来实现搜索过程 static void FindListLambdaExpression() { //先创建一个泛型的List类 List<string> list = new List<string>(); list.AddRange(new string[] { "ASP.NET课程", "J2EE课程", "PHP课程", "数据结构课程" }); //在这里,使用了Lambda来创建一个委托方法 List<string> bookCategory = list.FindAll((string str) => str.EndsWith("课程")); foreach (string str in bookCategory) { Console.WriteLine("{0}\t", str); } Console.ReadLine(); } } } </span>
0 0
- C# 传统的委托、匿名方法、Lambda对比
- C#的委托,匿名方法和Lambda表达式
- c#之委托、匿名方法、Lambda表达式
- C# 委托用法、匿名方法、Lambda表达式
- 委托、匿名方法、Lambda表达式的演进
- 委托、匿名方法、Lambda表达式的演进
- C#委托,匿名方法和Lambda表达式(译)
- C#委托,匿名方法和Lambda表达式(译)
- C#委托,匿名方法和Lambda表达式(译)
- C#中的委托,匿名方法和Lambda表达式
- C#中的委托,匿名方法和Lambda表达式
- C#中的委托,匿名方法和Lambda表达式
- 委托,匿名方法,lambda表达式
- 委托 匿名 Lambda的区分
- C# 匿名方法 委托
- C# 委托 事件 匿名函数 Lambda表达式
- C#中的委托,匿名方法、泛型委托和Lambda表达式表达式演变过程
- 转: C#中的委托,匿名方法、泛型委托和Lambda表达式表达式演变过程
- 黑马程序员————面向对象之多态
- 黑马程序员——Socket编程学习笔记
- 三++30杨辉三角
- java第六天
- 吾不能为五斗米折腰
- C# 传统的委托、匿名方法、Lambda对比
- 山东省第二届ACM大学生程序设计竞赛——Mathman Bank
- 利用nf_conntrack机制存储路由,省去每包路由查找
- ios地图定位学习
- java 第三天
- 文件操作
- 北大ACM3641——Pseudoprime numbers~~快速求幂法
- TestFlight——完美的iOS App测试方案
- 第38题