C#委托的定义 以及使用方式详解,更简单的理解委托。

Posted lanpeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#委托的定义 以及使用方式详解,更简单的理解委托。相关的知识,希望对你有一定的参考价值。

委托的声明及定义:

委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。“

这是百度上和许多教科书上都有的一个概念,但是初学这门编程语言的话,或者基础比较差的童鞋,看到这句话,肯定是一脸懵比,先不用着急,我们来慢慢通过代码去理解委托这个概念。

下面就在C#控制台上看代码把 相信刚学C#的朋友们应该很熟悉

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace ConsoleApp1


public delegate void Mydelegate(); //定义一个没有返回值的委托

public delegate int intdegate(int a,int b); //2定义一个返回值为int的委托

class Program

static void SayHi()

Console.WriteLine("Hi World");

static void SayBy()

Console.WriteLine("Hi baby");

static int Sum(int a,int b)

return a + b;

static void Main(string[] args)

//第一种方式使用委托
Mydelegate my1 = SayHi;
my1();
//第二张方式使用委托
Mydelegate my2 = new Mydelegate(SayHi);
my2();

//下面是有返回值的委托
intdegate my3 = Sum;
Sum(10,20);

intdegate my4 = new intdegate(Sum);
Sum(20,40);

//通过+=,-=添加多个方法移除方法;
my1 += SayBy;
my1();//这样添加的话把两个方法都绑定了 程序会输出两个方法的语句 Hi World和Hi baby


 

以上是关于C#委托的定义 以及使用方式详解,更简单的理解委托。的主要内容,如果未能解决你的问题,请参考以下文章

C#委托使用详解(Delegates)

C#C#委托使用详解(Delegates)

[C#基础知识]委托详解

C#委托,简单粗暴理解

小5聊C#基础之内置和自定义委托的简单使用

C#综合揭秘——深入分析委托与事件