• Lamdba表达式


    1.匿名方法

    myTime.Elspsed +=
    
    delegate(object source, ElapsedEventArgs e)
    
    {
    
      Console.WriteLine((source as Timer).Interval);
    
    };

    2.把Lamdba表达式用于匿名方法

    myTime.Elspsed += (source,e) => Console.WriteLine((source as Timer).Interval);

    Lamdba表达式由三部分组成:

    • 放在括号中的参数列表
    • =>运算符
    • C#语句
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace LambdaaOne
    {
        public delegate int TwoIntOperationDelegate(int paramA,int paramB);
    
        class Program
        {
            static void PerformOperation(TwoIntOperationDelegate del)
            {
                for (int paramAVal = 1; paramAVal<=5; paramAVal++)
                {
                    for (int paramBVal = 1; paramBVal <= 5; paramBVal++)
                    {
                        int delegateResult = del(paramAVal, paramBVal);
                        Console.Write("f({0},{1})={2}",paramAVal,paramBVal, delegateResult);
    
                        if (paramBVal != 5)
                        {
                            Console.Write(",");
                        }
                    }
    
                    Console.WriteLine();
                }
            }
    
            static void Main(string[] args)
            {
                Console.WriteLine("f(a,b) = a+b: ");
                PerformOperation((paramA, paramB) => paramA + paramB);
    
                //or
                PerformOperation(
                    delegate(int paramA, int paramB)
                    {
                        return paramA + paramB;
                    });
    
                //or
                PerformOperation(
                    (paramA, paramB)=>
                    {
                        return paramA + paramB;
                    });
    
                Console.WriteLine();
    
                Console.WriteLine("f(a,b) = a*b: ");
                PerformOperation((paramA, paramB) => paramA * paramB);
                Console.WriteLine();
    
                Console.WriteLine("f(a,b) = (a-b)%b: ");
                PerformOperation((paramA, paramB) => (paramA - paramB) % paramB);
                Console.WriteLine();
    
                Console.ReadLine();
            }
        }
    }

    总结:Lambda其实定义了一个匿名方法的快捷方式。

  • 相关阅读:
    Java实现连接FTP服务并传递文件
    消息队列(MQ)入门-activemq,rocketmq代码级别
    js分页功能实现
    记录几个遇到的问题和解决方法
    oracle 日志归档设置
    打印系统时间
    linux 定时任务
    linux 安装jdk
    db2 命令
    二维码、条形码扫描——使用Google ZXing
  • 原文地址:https://www.cnblogs.com/zzunstu/p/3405181.html
Copyright © 2020-2023  润新知