delegate Func Action Expression

本文通过具体示例介绍了C#中的委托、Func、Action及表达式的使用方法,展示了如何利用这些特性来简化代码并提高程序的灵活性。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;

namespace ConsoleApp3
{
    static class Program
    {
        delegate string delagateA(string paramA);

        static void Main(string[] args)
        {
            delagateA delagatea = (a) =>
            {
                return "delegate方式输出:" + a;
            };
            Console.WriteLine(delagatea("123"));

            Func<int, int, int> funcA = (paramA, paramB) => paramA + paramB;
            Console.WriteLine("Func方式输出:"+funcA(2, 3));

            Func<int, int, int> funcB = (paramA, paramB) =>
            {
                int a = paramA + paramB;
                return a;
            };
            Console.WriteLine("Func方式输出:" + funcB(2, 3));

            Action<int, int> actionA = (paramA, paramB) => Console.WriteLine("Action方式输出:" + paramA + paramB);
            actionA(3, 5);

            Expression<Action<int>> expressionA = paramA => Console.WriteLine("Expression方式输出:" + paramA);
            expressionA.Compile()(1);


            Expression<Func<int, int>> expressionB = paramA => paramA;
            Console.WriteLine("Expression方式输出:" + expressionB.Compile()(1));

            myFun("chenyishi", c =>
            {
                return c;
            });
        }

        static void myFun(string str, Func<string, string> func)
        {
            Console.WriteLine("Func作为参数方式输出:"+func(str));
        }

    }
}

 

转载于:https://www.cnblogs.com/chenyishi/p/8329434.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值