参考代码1:

using System;

namespace DelegateDemo
{
class Program
{
public delegate void Expresser();
static void Main(string[] args)
{
//委托, delegate
Test t = new Test();
Expresser exp1 = new Expresser(t.MyExpressApple);
Expresser exp2 = new Expresser(t.MyExpressMail);
Expresser exp3 = exp2;
exp1();
exp3();
/////////////////////////////////////
Expresser exp11 = new Expresser(Test2.MyExpressBook);
Expresser exp22 = new Expresser(Test2.MyExpressPen);
exp11();
exp22();
}
}
class Test
{
public void MyExpressMail()
{
Console.WriteLine("寄送邮件");
}
public void MyExpressApple()
{
Console.WriteLine("寄送苹果");
}
}
class Test2
{
public static void MyExpressBook()
{
Console.WriteLine("寄送书籍");
}
public static void MyExpressPen()
{
Console.WriteLine("寄送笔");
}
} }

参考代码2:

using System;

namespace ArithDemo
{
class Program
{
public delegate double ArithDelegater(int a,int b); static void Main(string[] args)
{
ArithDelegater[] a= new ArithDelegater[4];
a[0]= new ArithDelegater(Arith.Add);
a[1] = new ArithDelegater(Arith.Sub);
a[2] = new ArithDelegater(Arith.Mul);
a[3] = new ArithDelegater(Arith.Div); for(int i=0;i<4;i++)
{
Console.WriteLine(a[i](100,30));
} }
}
class Arith
{
public static double Add(int a,int b)
{
return a + b;
}
public static double Sub(int a, int b)
{
return a - b;
}
public static double Mul(int a, int b)
{
return a * b;
}
public static double Div(int a, int b)
{
return (double)a / b;
}
}
}

参考代码3:

using System;

namespace ArithDemo
{
class Program
{
public delegate void ArithDelegater(int a, int b); static void Main(string[] args)
{
ArithDelegater a = new ArithDelegater(Arith.Add);
a+= new ArithDelegater(Arith.Sub);
a+= new ArithDelegater(Arith.Mul);
a+= new ArithDelegater(Arith.Div);
a(100, 30);
        Console.WriteLine("--------------");
           a.Invoke(1000, 300);
}
}
class Arith
{
public static void Add(int a, int b)
{
Console.WriteLine(a + b);
}
public static void Sub(int a, int b)
{
Console.WriteLine(a - b);
}
public static void Mul(int a, int b)
{
Console.WriteLine(a * b);
}
public static void Div(int a, int b)
{
Console.WriteLine((double)a / b);
}
}
}

[C#]delegate基础入门的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. 「译」JUnit 5 系列:基础入门

    原文地址:http://blog.codefx.org/libraries/junit-5-basics/ 原文日期:25, Feb, 2016 译文首发:Linesh 的博客:JUnit 5 系列: ...

  3. .NET正则表达式基础入门

    这是我第一次写的博客,个人觉得十分不容易.以前看别人写的博客文字十分流畅,到自己来写却发现十分困难,还是感谢那些为技术而奉献自己力量的人吧. 本教程编写之前,博主阅读了<正则指引>这本入门 ...

  4. 从零3D基础入门XNA 4.0(2)——模型和BasicEffect

    [题外话] 上一篇文章介绍了3D开发基础与XNA开发程序的整体结构,以及使用Model类的Draw方法将模型绘制到屏幕上.本文接着上一篇文章继续,介绍XNA中模型的结构.BasicEffect的使用以 ...

  5. 从零3D基础入门XNA 4.0(1)——3D开发基础

    [题外话] 最近要做一个3D动画演示的程序,由于比较熟悉C#语言,再加上XNA对模型的支持比较好,故选择了XNA平台.不过从网上找到很多XNA的入门文章,发现大都需要一些3D基础,而我之前并没有接触过 ...

  6. Shell编程菜鸟基础入门笔记

    Shell编程基础入门     1.shell格式:例 shell脚本开发习惯 1.指定解释器 #!/bin/bash 2.脚本开头加版权等信息如:#DATE:时间,#author(作者)#mail: ...

  7. [Spring框架]Spring AOP基础入门总结二:Spring基于AspectJ的AOP的开发.

    前言: 在上一篇中: [Spring框架]Spring AOP基础入门总结一. 中 我们已经知道了一个Spring AOP程序是如何开发的, 在这里呢我们将基于AspectJ来进行AOP 的总结和学习 ...

  8. [Spring框架]Spring AOP基础入门总结一.

    前言:前面已经有两篇文章讲了Spring IOC/DI 以及 使用xml和注解两种方法开发的案例, 下面就来梳理一下Spring的另一核心AOP. 一, 什么是AOP 在软件业,AOP为Aspect ...

  9. RobotFramework - 基础入门

    Robot Framework Wiki HomePage Robot Framework User Guide Robot Framework documentation Robot Framewo ...

  10. .NET ORM 的 “SOD蜜”--零基础入门篇

    PDF.NET SOD框架不仅仅是一个ORM,但是它的ORM功能是独具特色的,我在博客中已经多次介绍,但都是原理性的,可能不少初学的朋友还是觉得复杂,其实,SOD的ORM是很简单的.下面我们就采用流行 ...

随机推荐

  1. $\bf{X} \bf{X}^T$和$ \bf{X}^T \bf{X}$的非零特征值和特征向量之间的关系

    设\(\lambda_i\)为\(\bf{X} \bf{X}^T\)的特征值,对应的特征向量为\(\mathbf{\alpha}_i\),则 \[\bf{X} \bf{X}^T \mathbf{\al ...

  2. 怎么把百度地图的搜索结果全部导出到Excel文件

    有很多人问我,怎么样能够快速的把BAIDU地图左边的搜索列表里的商家地图,电话,导出到EXCEL里. 我就开发了一个小软件,专门为快速的实现导出数据到EXCEL. 为了使用方便,已经将全国的所又省份, ...

  3. vue本地运行项目使用iframe的跨域问题

    1.获取iframe中的window对象 为了兼容大多数浏览器,应使用iframeElement.contentWindow来获取 https://blog.csdn.net/xiongzhengxi ...

  4. RayLink 远控软件又推出 2 个重磅宝藏功能免费用

    你有没有在远程办公时,担心他人偷窥电脑?以致于保密性资料或私密信息,遭到泄露.创意被剽窃......又或是遇到过邻座同事屏幕前明明没人,鼠标箭头却自个浏览起网页的惊悚画面? 如果你有上述情况,建议使用 ...

  5. mysql 删除商品名字重复数据,同时保留最新一条

    delete goods where goods_id in (SELECT goods_id FROM goodswhere goods_name in (select goods_name fro ...

  6. 慢SQL

    慢SQL 目录 慢SQL 一.慢SQL概念 2.参数 3.配置 3.1.slow_query_log 3.2.slow_query_log_file 3.3.long_query_time 3.4.l ...

  7. ssh_remote_without_password

    2 machines, 1 called client , 1 called server , server need static ip address. client connects serve ...

  8. NOIP2022 游记

    无论结局如何,我都曾经来过. Day -1 zak 模拟赛,被殴打了. Day 0 上午 补模拟赛题. 下午 补模拟赛题. 徐老师过来分配了第二天下午造数据名单. 我造 T2.希望不会太难.(flag ...

  9. 在C++创建动态数组

    计算首行两数相加 #include <iostream>11 #include <vector> using namespace std; int main() { vecto ...

  10. 什么是bootstrap?

    In computing, the term bootstrap means to boot or to load a program into a computer using a much sma ...