C#内置委托(Func,Action)基本使用

Func是带返回值的委托,比如Func<string,int,string,T> 最后一个就是你的返回值,前面的都是参数。

这里只讲基本的使用:

    public static void Main(string[] args)
        {
            //实例化
            func f = new func("张三");

            //调用委托将Run1方法传进去,用一个委托去接收一个方法

            var res=  f.funcc(Run1);

             Console.ReadKey();
        }
    public static string Run1(string Name)
        {
            return Name="小八";
        }
     public class func
        {
            //通过构造函数赋初始值
            public func(string name)
            {
                Name = name;
            }

            public string Name { get; }

            //创建一个Func内置委托的方法
            public T funcc<T>(Func<string, T> func)
            {
                return func(Name);
            }
        }

可以看出来虽然我们传进去的是叫张三的姓名,但是在方法中我们改变了值,但是不会改变构造函数中的张三互不影响。最后返回小八。

Action是无返回值的委托,比如Action<string,int,string>  

代码如下

    public static void Main(string[] args)
        {
            //实例化
            action action = new action();

            //调用委托将Run2方法传进去,用一个委托去接收一个方法

            action.acti(Run2);

            Console.ReadKey();
        }
     public static void Run2(string Name,int age)
        {
            Console.WriteLine("我叫{0},今年{1}",Name,age);
        }
     public class action
        {
            //Action内置委托,没有返回值
            public void acti(Action<string,int> action)
            {
                //给方法传入对应参数
                action("小八", 18);
            }
        }

这里可以看出来我们用Action委托接收了一个无返回值的方法并且能将方法中的值打印出来

结果: 输出我叫小八,今年18

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吹空调的小八

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值