zoukankan      html  css  js  c++  java
  • lambda 表达式的由来

    相关技术点:函数指针、C#委托、匿名方法、lambda表达式

    谈到lambda表达式,首先从委托讲起,

    委托是持有一个或者多个方法的对象,这个特性有点像C中的函数指针,可以指向不同的方法,下面的例子是一个简单的委托实例包含了声明委托类型,创建委托对象并赋值以及调用;在这个实例中我们声明了两个简单的方法PrintLow和PrintHigh,只是单纯的打印随机值,如果这两个方法只在此处使用,可以完全不用创建具名方法,匿名方法由此而生。 

     # ddd

     1  delegate void MyDel(int x);//声明委托类型 
     2  class Program
     3 
     4  {
     5      void PrintLow(int value)
     6      {
     7          Console.WriteLine($"{value} - Low Value");
     8      }
     9      void PrintHigh(int value)
    10      {
    11         Console.WriteLine($"{value} - High Value");
    12      }
    13      static void Main()
    14      {
    15          MyDel del;
    16          Random rand=new Random();
    17          int randomValue=rand.Next(99);
    18          del=randomValue>50?new MyDel(PrintHigh):new MyDel(PrintLow);//依据randomValue赋值不同的委托对象
    19        //使用匿名方法
    20        del=randomValue>50?new MyDel(delegate(int x){Console.WriteLine($"{x} - High");}:delegate(int x){Console.WriteLine($"{x} - Low");}; 
    21 
    22         del(randomValue);//调用委托对象,执行委托对象对应的方法
    23      }
    24  }
  • 相关阅读:
    TabControl
    Loading
    Dialog
    Combobox
    Markdown编辑器Editor.md使用方式
    XSS攻击
    跨域解决方案及实现
    angular4 自定义表单组件
    angular4 Form表单相关
    js 详解setTimeout定时器
  • 原文地址:https://www.cnblogs.com/sosoman/p/4387395.html
Copyright © 2011-2022 走看看