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  }
  • 相关阅读:
    java代码--Date类获取当前时间-格式化输出
    Eclipse快速生成do while if 等方法
    java不同包中protected修饰的属性和方法调用方法
    java中如果删除导入的jar包,工程出现叹号解决方案
    Best Reward HDU 3613(回文子串Manacher)
    Teacher YYF
    Period II
    How many
    String Problem
    Corporate Identity
  • 原文地址:https://www.cnblogs.com/sosoman/p/4387395.html
Copyright © 2011-2022 走看看