系统自带的委托Action和Func

Posted wesley1680

tags:

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

一、Action(没有返回值的委托,参数可有可无)

1.Action是无参无返回值的委托,用法如下:(非泛型Action)

技术分享
1 //无参无返回值的Action
2             Action a = () => { Console.WriteLine("这是无参数无返回值的Action"); };
3             a();
View Code

输出:这是无参数无返回值的Action

2.Action<T>是有参数无返回值的委托,用法如下:

技术分享
1 //有参数无返回值的
2             Action<string, int> a = (s, i) => { Console.WriteLine(s + i); };
3             a("中国", 2);
View Code

输出:中国2

二、Func<T>

有返回值的委托,如果只指定了一个泛型类型,那么这个类型就是返回值的类型;如果指定了多个泛型类型,那么最后一个泛型的类型是返回值类型。

1.只有一个泛型类型

技术分享
1 Func<string> f = () => { return "这是返回值"; };
2             Console.WriteLine(f());
View Code

输出:这是返回值

2.有多个泛型类型

技术分享
1 Func<int, double, string> func = (i, d) => { return (i + d).ToString(); };
2             Console.WriteLine(func(1, 1));
View Code

 输出:2

以上是关于系统自带的委托Action和Func的主要内容,如果未能解决你的问题,请参考以下文章

委托 Action和Func

委托之Action和Func区别

《C#零基础入门之百识百例》(七十五)内置委托 -- Action/Func

Func 和 Action 委托

C# Action<T;和 Func<T;委托

在一行中声明和定义一个委托(不使用 Action/Func)