delegate Func Action Expression

Posted chester.chen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delegate Func Action Expression相关的知识,希望对你有一定的参考价值。

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));
        }

    }
}

 

以上是关于delegate Func Action Expression的主要内容,如果未能解决你的问题,请参考以下文章

Delegate,Action,Func,匿名方法,匿名委托,事件

[C#]action,delegate,func的用法和区别

[C#]action,delegate,func的用法和区别

如何将方法调用传递到自检器中的 Action、Func 或 Delegate 以获取自定义规则?

Func与Action

UnityDelegate, Event, UnityEvent, Action, UnityAction, Func 傻傻分不清