using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Func委托
{
class Program
{
// *********************************************************************************
// Func委托也是系统提供的内置(预定义)的委托类型
// 与Action委托不同的是,当委托事件需要有返回值的时候,可以使用Func委托
// *********************************************************************************
static string MyString()
{
return "今天天气好热啊";
}
static int MyString(string str1, string str2)
{
Console.WriteLine(str1+str2);
return 100;
}
static void Main(string[] args)
{
// 用法一:
// 定义了一个Func类型的委托,指向了一个带有string类型返回值的方法
Func<string> func1 = MyString;
Console.WriteLine(func1());
// 用法二:
// 定义一个带有参数的Func委托,在泛型中,最后一个作为返回值,之前的作为参数
Func<string, string, int> func2 = MyString;
Console.WriteLine(func2("a","b"));
Console.ReadKey();
}
}
}
输出打印结果: