委托

using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;

namespace ConsoleApp
{
    class Program
    {
        delegate bool DelCompare(int a,int b);
        static void Main(string[] args)
        {
            DelegateFunction();
            AnonymousDelegateFunction();
            LambdaExpressionFunction();
            FuncFunction();
            ExpressionFunction();
            Console.ReadKey();
        }

        /// <summary>
        /// 委托
        /// </summary>
        private static void DelegateFunction()
        {
            DelCompare d = Compare;
            var val= d(3, 5);
            Console.WriteLine(String.Format("DelegateFunction:{0}", val));
        }

        /// <summary>
        /// 匿名委托
        /// </summary>
        private static void AnonymousDelegateFunction()
        {
            DelCompare d = delegate (int a, int b) { return a > b; };
            var val = d(3, 5);
            Console.WriteLine(String.Format("AnonymousDelegateFunction:{0}", val));
        }

        /// <summary>
        /// Lambda表达式
        /// </summary>
        private static void LambdaExpressionFunction()
        {
            DelCompare d = (a, b) => a > b;
            var val = d(3, 5);
            Console.WriteLine(String.Format("LambdaExpressionFunction:{0}", val));
        }

        /// <summary>
        /// Func
        /// </summary>
        private static void FuncFunction()
        {
            Func<int, int, bool> d = (a, b) => a > b;
            var val = d(3, 5);
            Console.WriteLine(String.Format("FuncFunction:{0}", val));
        }

        private static void ExpressionFunction()
        {
            Expression<Func<int,int, bool>> exp = (a,b) => a > b; //生在表达式
            Func<int,int, bool> fun = exp.Compile(); //编辑表达式
            var val= fun(3,5); //执行表达式
            Console.WriteLine(String.Format("ExpressionFunction:{0}", val));
        }

        private static bool Compare(int a,int b)
        {
            return a > b;
        }
    }
}


结果:



原文链接:

http://www.cnblogs.com/xuf22/archive/2011/09/21/2184351.html

点击打开链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值