C#delegate委托
2024-10-18 19:26:16
类似函数,却没有语句体。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ConsoleApplication3
{
class Program
{
delegate double ProcessDelegate(double param1, double param2);
//委托定义
static double Multiply(double param1,double param2)
{
return param1 * param2;
}
static double Divide(double param1, double param2)
{
return param1 / param2;
}
static void Main(string[] args)
{
ProcessDelegate process;
Console.WriteLine("Enter 2 numbers separated with a comma:");
//输入两个数,用逗号隔开.
string input = Console.ReadLine();
int commaPos = input.IndexOf(',');
//获取逗号字符所在的位置
//获取两个数
double param1 = Convert.ToDouble(input.Substring(, commaPos));
double param2 = Convert.ToDouble(input.Substring(commaPos + , input.Length - commaPos - ));
//输入M代表multiply , D代表divide
Console.WriteLine("Enter M to multiply or D to divide:");
input = Console.ReadLine();
if (input == "M")
process = new ProcessDelegate(Multiply);
else
process = new ProcessDelegate(Divide);
Console.WriteLine("Result: {0}.",process(param1,param2));
Console.ReadKey();
}
}
}
最新文章
- Oracle REGEXP_SUBSTR()
- js回调函数,字符串,数组小析
- linux实践——内核编程 基础模块
- java和C#之间SOCKET通信的问题
- ASP.NET MVC HtmlHelper用法大全
- LOJ #2135. 「ZJOI2015」幻想乡战略游戏(点分树)
- VMware workstation --虚拟机静态ip设置
- U盘快速启动热键
- nlp知识
- EF Fluent API
- GIT 数据结构
- Codeforces.487C.Prefix Product Sequence(构造)
- id不连续
- 如何设计一个异步Web服务——任务调度
- 关于bfs与dfs的标记区别
- 洛谷大宁的邀请赛~元旦祭F: U17264 photo(线段树)
- 你用过Spring中哪些功能?
- 在ceph中:pool、PG、OSD的关系
- 1-编程基础及Python环境部署
- jQuery对象和Javascript对象