美文网首页
C#重温—委托

C#重温—委托

作者: 高调的小丑 | 来源:发表于2019-05-28 08:51 被阅读0次

委托其实就是将方法作为参数传递。

public delegate string MyDelegate(string name);//①

static void Main(string[] args)
{
    MyDelegate d1 = new MyDelegate(Add);//③
    string str = string.Empty;
    if (d1 != null)
         str = d1.Invoke("Curry");
    Console.WriteLine(str);
    Console.ReadKey();
}

//②
public static string Add(string name)
{
    return "hello," + name;
}

其实委托的使用就分下面三步:

  1. 首先需要定义一个委托
  2. 写一个方法供委托调用
    3.实例化委托,然后调用(Invoke)

什么时候使用委托?
如果代码想要执行操作,但不知道操作细节,一般可以使用委托。比如火车票抢票,我只要委托了云抢票,不要知道细节,最后只要告诉我结果是抢票成功还是失败就行了。

泛型委托Action和Func

  1. Action是无返回值的泛型委托,Action至少0个参数,至多16个参数,无返回值。
Action<string, int> action = (a, b) => Console.WriteLine(a+b); 
action("hello", 18);
  1. Func是有返回值的泛型委托,Func至少0个参数,至多16个参数,根据返回值泛型返回。必须有返回值,不可void
Func<int, int, int> add= (x, y) => x + y;
int result = add(1, 2);

相关文章

  • C#重温—委托

    委托其实就是将方法作为参数传递。 其实委托的使用就分下面三步: 首先需要定义一个委托 写一个方法供委托调用3.实例...

  • C# 委托

    C#委托 C#中的委托(Delegate)类似于C或C++中函数的指针。委托(Delegate)是存有对某个方法的...

  • 教小明学一点点编程—C#篇(0)

    像小明这样使用C#的新同学,一定都会被C#的复杂的委托事件机制所困惑,那么我们不如解释一下什么是C#中委托。 委托...

  • C#委托 匿名函数 Lambda

    C# 中委托的发展#在 C# 1.0 中,通过使用在代码中其他位置定义的方法显式初始化委托来创建委托的实例。 C#...

  • 2020-02-19

    C# 委托 (一)—— 委托、 泛型委托与Lambda表达式 原创wnvalentin 最后发布于2018-08-...

  • (转).NET面试题系列[7] - 委托与事件

    委托和事件 委托在C#中具有无比重要的地位。 C#中的委托可以说俯拾即是,从LINQ中的lambda表达式到(包括...

  • 委托及其用法

    C#委托使用详解(Delegates) 1. 委托是什么? 其实,我一直思考如何讲解委托,才能把委托说得更透彻。说...

  • C# 高级语言总结

    后续 1 C# 委托 委托(Delegate)特别用于实现事件和回调方法。所有的委托(Delegate)都派生自 ...

  • C#匿名方法、Lambda表达式和各种泛型委托

    Linq查询与高级C#编程机器理论研究基础 C#委托解决的是对象之间的逆向传递问题,其次,委托还有其他的用途(匿名...

  • C#中的委托是用来干嘛的

    在C#中我们会听到一个概念——委托。那么委托是个什么鬼,用来干嘛的呢?最近有些空闲时间就写一下C#中委托相关的知识...

网友评论

      本文标题:C#重温—委托

      本文链接:https://www.haomeiwen.com/subject/ceokbftx.html