LINQ-委托

委托

如果我们要把方法当作参数来传递的话,就需要委托;

委托是一个类型,这个类型可以赋值一个方法的引用;

声明委托类型 delegate

在C#中使用一个类分为两个阶段

  • 定义这个类,告诉编译器这个类由什么字段和方法组成的,
  • 使用这个类实例化的对象

使用委托的两个阶段

  • 定义委托,告诉编译器 委托可以指向哪个类型的方法
  • 创建 该委托实例
//定义委托
delegate void D1();

使用委托

  • 执行D1所指向的方法
static void Main(string[] args)
{
    D1 d1 = F1;
    d1();
}
static void F1()
{
    Console.WriteLine("我是方法F1");
}

//定义委托
public  delegate void D1();

Action委托和Func委托

系统内置的委托类型

  • Action 委托引用的是无返回值类型的方法,T表示方法参数
  • Action <参数,参数> action = 方法
static void Main(string[] args)
{

    Action <int,int> action= num;
    action(5,5);
}

static void num(int i,int n)
{
    Console.WriteLine("和:"+(i + n));
}
  • Func引用了一个带有返回值的方法,它可以传递0或者多到16个参数类型,和一个返回类型
  • Func<参数,返回值类型> func = 方法;
static void Main(string[] args)
{
    Func<string,string> func = show;

    Console.WriteLine(func("刘波"));
}

static string show(string name)
{
    return name + ",你好";
}

posted on 2022-01-18 22:06  软嘴唇  阅读(62)  评论(0编辑  收藏  举报

导航