c# 委托delegate 编写计算器
2015-10-16 15:45
447 查看
.Net 中的委托类似于 C 或 C++ 中的函数指针。使用委托使程序员可以将方法引用封装在委托对象内。然后可以将该委托对象传递给可调用所引用方法的代码,而不必在编译时知道将调用哪个方法。与 C 或 C++ 中的函数指针不同,委托是面向对象、类型安全的。
首先定义一个计算器类Calculator
在Calculator中定义了加、减、乘、除四种方法
然后定义委托mycalculate
如果要进行加法运算,创建一个委托对象mysum,把计算器中的加法方法传递到该对象中,当执行该委托的时候会执行运算器中的加法函数
其他的运算操作同理
首先定义一个计算器类Calculator
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Calculator { class Calculator { static public decimal Sum(decimal a,decimal b) { return a + b; } static public decimal Sub(decimal a, decimal b) { return a - b; } static public decimal Mul(decimal a, decimal b) { return a * b; } static public decimal Div(decimal a, decimal b) { return a / b; } } }
在Calculator中定义了加、减、乘、除四种方法
然后定义委托mycalculate
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Calculator { public delegate decimal mycalculate(decimal a, decimal b); class Program { static void Main(string[] args) { //加法 mycalculate mysum = new mycalculate(Calculator.Sum); Console.WriteLine(mysum(5,6)); //减法 mycalculate mysub = new mycalculate(Calculator.Sub); Console.WriteLine(mysub(5, 6)); //乘法 mycalculate mymul = new mycalculate(Calculator.Mul); Console.WriteLine(mymul(5, 6)); //除法 mycalculate mydiv = new mycalculate(Calculator.Div); Console.WriteLine(mydiv(5, 6)); Console.ReadKey(); } } }
如果要进行加法运算,创建一个委托对象mysum,把计算器中的加法方法传递到该对象中,当执行该委托的时候会执行运算器中的加法函数
其他的运算操作同理
相关文章推荐
- (原创)c#学习笔记02--编写c#程序02--控制台应用程序
- C#中Dictionary的用法
- MVC和Web下拉框视图及视图传值问题(入门教程)
- (原创)c#学习笔记02--编写c#程序01--开发环境
- C#基础
- (1)C#之ADO.Net基础
- C# Socket编程笔记
- C#基础知识笔记
- C#获取服务器名称
- VC使用GSOAP(2.8.14)调用C#WCF服务
- C# Stopwatch的用法
- C# 利用QRCode生成二维码图片
- C#中关于Gridview的一些属性(三、数据列比较)
- C#中关于Gridview的一些属性(二、绑定数据)
- C# 泛型
- C#List的排序和简单去重总结
- C#中关于Gridview的一些属性(一)
- 用C#来调用cmd命令程序,实现wifi控制的工具
- 【C#基础】初探.Net内存分配原理
- C#中载入界面的常用方法