QQ登录

只需一步,快速开始

.Net Core 笔记:C# Lambda表达式

依梦瑶 发表于 2019-5-23 17:32:29 | 显示全部楼层 |阅读模式

今天研究了一下 C# Lambda 表达式,那是因为昨天有同事提醒了一下我说会不会 Lambda 表达式,以前也听说过 C# 中有 Lambda 表达式这个东东,但由于之前接触 C# 偏少,基本上是擦肩而过的没有深入去研究,所以一下子蒙了,这东西到底长啥样子。

有什么特点,所以早上就开始寻找这个东东,看看它是什么样,不看不知道一看惊醒了,所以这 Lambda 表达式用法在前面学 typescript 接触过,也在前面学 linq 的用法的也是。

下面用个例子来显示 Lambda 表达式的优势。

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using Microsoft.AspNetCore.Mvc;
  6. namespace NetCode.Controllers
  7. {
  8. [Route("api/[controller]")]
  9. public class LambdaController : Controller
  10. {
  11. private List<string> _list;
  12. [HttpGet]
  13. public dynamic Main()
  14. {
  15. _list = new List<string>();
  16. _list.AddRange(new string[] { "ASP.NET课程", "PHP课程", "J2EE课程", "数据结构课程" });
  17. Console.WriteLine("传统的委托代码示例:");
  18. FindListDelegate();
  19. Console.Write("\n");
  20. Console.WriteLine("使用匿名方法的示例:");
  21. FindListAnonymousMethod();
  22. Console.Write("\n");
  23. Console.WriteLine("使用 Lambda 的示例:");
  24. FindListAnonymousMethod();
  25. Console.Write("\n");
  26. return new { };
  27. }
  28. /// <summary>
  29. /// 传统的委托代码示例
  30. /// </summary>
  31. private void FindListDelegate()
  32. {
  33. Predicate<string> findPredicate = new Predicate<string>(IsBookCategory);
  34. List<string> bookCategory = _list.FindAll(findPredicate);
  35. foreach (string str in bookCategory)
  36. {
  37. Console.WriteLine("{0}\t", str);
  38. }
  39. }
  40. private static bool IsBookCategory(string str)
  41. {
  42. return str.EndsWith("课程");
  43. }
  44. /// <summary>
  45. /// 使用匿名方法的示例
  46. /// </summary>
  47. private void FindListAnonymousMethod()
  48. {
  49. List<string> bookCategory = _list.FindAll(delegate(string str){
  50. return str.EndsWith("课程") ? true : false;
  51. });
  52. foreach (string str in bookCategory)
  53. {
  54. Console.WriteLine("{0}\t", str);
  55. }
  56. }
  57. /// <summary>
  58. /// 使用 Lambda 的示例
  59. /// </summary>
  60. private void FindListLambdaExpression()
  61. {
  62. List<string> bookCategory = _list.FindAll((string str)=>str.EndsWith("课程"));
  63. foreach (string str in bookCategory)
  64. {
  65. Console.WriteLine("{0}\t", str);
  66. }
  67. }
  68. }
  69. }
复制代码

1.jpg

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精华推荐
  • 探究!做设计之前的“构思”

    探究!做设计之前的“构思”

  • 汉字之美!中文字体设计原则

    汉字之美!中文字体设计原则

  • 一支互联网雪糕的诞生

    一支互联网雪糕的诞生

  • 设计灵感来自何处?

    设计灵感来自何处?

  • 自行车停靠架和旧自行车变废为宝家居创意作品大全

    自行车停靠架和旧自行车变废为宝家居创意作

  • 造车生死局:要么转型,要么死

    造车生死局:要么转型,要么死

  • 从欠8千万到年赚8亿

    从欠8千万到年赚8亿

  • 一座非典型五线小城的日常

    一座非典型五线小城的日常

QQ客服热线
QQ:1090281100 周一至周日:09:00 - 21:00
WeChat:duzhe1069
Email:kaixin1069@vip.qq.com

优创意logo

勿要吝啬你无形资产,请为创新续源,知识、点子、灵感、经验、需求等均是创新源泉,你不经意的一句话将是另一个人的灵感。明天的明天,还有明天,我们应该把握今天,每一个今天,都有一个新的事物在出现,今天的漠视明天的落后,不浪费每一个学习的时刻,学习助力非凡。

技术支持 Discuz! X3.4 - 3.5 beta © 2001-2019 Comsenz Inc.

小黑屋|手机版|优创意 ( 粤ICP备16085288号-1 )|申请友链

粤公网安备 44011102001144 号 GMT+8, 2020-10-30 23:51 , Processed in 0.090070 second(s), 29 queries , Gzip On.

快速回复 返回顶部 返回列表