在写代码的过程中经常用到委托,每次都要用 delegate 定义一个委托实属麻烦。现在.NET 类库中就给我们内置了两个委托类型,基本够我们日常使用了。
Action
class Program
{
static void Main(string[] args)
{
Action action = DelegateTest; // 无参数无返回值的委托
action();
Action<string> action2 = DelegateTest;
action("有参数委托");
Action<string,int> action3 = DelegateTest;
action("多参数委托",6);
Action<string,int,,int> action4 = (a,b,c)=>
{
Console.WriteLine($"{a},{b}{c}");
};
action("多参数委托",6);
Console.ReadKey();
}
static void DelegateTest()
{
Console.WriteLine("无参的委托");
}
static void DelegateTest(string str)
{
Console.WriteLine(str);
}
static void DelegateTest(string str,int n)
{
Console.WriteLine(str);
Console.WriteLine(n);
}
}
** Func** 带有返回值委托
class Program
{
static void Main(string[] args)
{
// 无参数无返回值的委托
Func<string> action = DelegateTest;
Console.WriteLine(action());
//用法同Action一致,但是Func有返回值
Console.ReadKey();
}
static string DelegateTest()
{
return "无参的委托";
}
}
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于