c#委托学习笔记1

发布时间:2023年12月22日

委托三步骤

第一步:定义委托

//第一步:1 声明委托(定义委托)
//对于声明委托的解释如下:
//解释a:函数指针
//解释b:委托就是定义函数的形状(形态)
//       即:返回值类型,参数数量,参数类型

public delegate string delegatCeshi(int x,int y);

第二步:实例化

 //第二步:2 实例化委托
 delegatCeshi delCeshi = new delegatCeshi(add);

第三步:执行委托

//第三步:3 使用委托
this.Text = delCeshi(10,5).ToString();

参考链接

参考链接1

C#基础教程 delegate 帮你理解委托,知道委托的好处, 不懂委托一定要看下!_哔哩哔哩_bilibili

?参考链接2

C# 的委托与事件大致是怎么一回事_哔哩哔哩_bilibili

?参考链接3

C#基础教程 简单好用泛型委托Action与Func,7分钟学会,不容错过!_哔哩哔哩_bilibili

?测试实例

实例思路

实力执行效果

调用add方法 15
调用jian方法 5
调用 除法 方法 2
调用add方法 103
调用jian方法 97
调用 除法 方法 33
调用add方法 8
调用jian方法 2

示例代码

对应的详细代码如下

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        //第一步:1 声明委托(定义委托)
        //对于声明委托的解释如下:
        //解释a:函数指针
        //解释b:委托就是定义函数的形状(形态)
        //       即:返回值类型,参数数量,参数类型

        public delegate string delegatCeshi(int x,int y);



        private void button1_Click(object sender, EventArgs e)
        {
            //第二步:2 实例化委托
            delegatCeshi delCeshi = new delegatCeshi(add);
            delCeshi += new delegatCeshi(jian);
            delCeshi += new delegatCeshi(chufa);

            //第三步:3 使用委托
            this.Text = delCeshi(10,5).ToString();

            //第二次使用未退哦
            button1.Text = delCeshi(100,3).ToString();

            //实例化第二个委托对象
            delegatCeshi ab = new delegatCeshi(add);
            ab += jian; // 可以使用new关键字,不写new是为了简写
            richTextBox1.AppendText(ab(5,3).ToString());
        }

        private string chufa(int a, int b)
        {
            Debug.WriteLine("调用 除法 方法 " + (a / b));
            return (a / b).ToString();
        }

        private string jian(int m, int n)
        {
            Debug.WriteLine("调用jian方法 " + (m - n));
            return (m - n).ToString();
        }

        private string add(int u, int t)
        {
            Debug.WriteLine("调用add方法 "+(u + t));
            return (u + t).ToString();   
        }
    }
}

特此记录

anlog

2023年12月22日

文章来源:https://blog.csdn.net/anlog/article/details/135148114
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。