zoukankan      html  css  js  c++  java
  • 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其实定义了一个匿名方法的快捷方式。

  • 相关阅读:
    HSV 量化
    小议:部署SharePoint 2013时,无法连接SQL Server问题
    BZOJ 1492 货币兑换 cdq分治或平衡树维护凸包
    初识ASP.NET---一般处理程序
    Vue.js
    jQuery内部原理和实现方式浅析
    关于js中namespace命名空间模式
    MutationObserver 监听DOM树变化
    TCP/UDP常见端口参考
    运算符优先级
  • 原文地址:https://www.cnblogs.com/zzunstu/p/3405181.html
Copyright © 2011-2022 走看看