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  }
  • 相关阅读:
    仿jquery 选择器功能
    多个div拖拽功能
    js 模拟jquery onready 事件
    随着鼠标移动的图片百叶窗效果
    计算体重引发的思考
    js 模拟事件
    表单验证功能(利用冒泡功能)
    视频播放滚动条(最终完善版)
    仿制视频播放滚动条效果(加左右控制按钮)
    无极树(待整理)
  • 原文地址:https://www.cnblogs.com/sosoman/p/4387395.html
Copyright © 2011-2022 走看看