委托是一种类型,表示对具有特定参数列表和返回类型的方法的引用。实例化委托时,我们可以将其实例与具有兼容签名和返回类型的任何方法相关联。我们可以通过委托实例调用(或调用)该方法。
Func是System命名空间中包含的通用委托。它具有零个或多个输入参数和一个out参数。最后一个参数被视为out参数。该委托可以指向一个最多包含16个参数并返回值的方法。
下面是具有两个输入和一个输出参数的Func委托。
Func <字符串,字符串,字符串>追加;
using System; namespace DemoApplication { class Program { static void Main(string[] args) { Func<string, string, string> func = Append; string fullName = func("Michael", "Jackson"); Console.WriteLine(fullName); Console.ReadLine(); } static string Append(string firstName, string lastName) { return firstName + lastName; } } }
MichaelJackson
动作是在系统命名空间中定义的委托类型。Action类型委托与Func委托相同,除了Action委托不返回值。换句话说,可以将Action委托与具有void返回类型的方法一起使用。它最多可以包含1输入参数,最多可以包含16个输入参数,并且不包含任何输出参数。
下面是具有两个输入和一个输出参数的Func委托。
Func <字符串,字符串,>打印;
using System; namespace DemoApplication { class Program { static void Main(string[] args) { Action func = AppendPrint; func("Michael", "Jackson"); Console.ReadLine(); } static void AppendPrint(string firstName, string lastName) { string fullName = firstName + lastName; Console.WriteLine($"{fullName}"); } } }
输出结果
上面代码的输出是
MichaelJackson