C#委托delegate

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Console;
using static System.Convert;

namespace firstCsharp
{
    class Program
    {
        delegate double processdelegate(double param1, double param2);
        static double Multiply(double param1, double param2) => param1 * param2;
        static double Divide(double param1, double parma2) => param1 / parma2;

        static void Main(string[] args)
        {
            processdelegate process=null;
            WriteLine("please enter two number ,seperator by ',' :");
            string input = ReadLine();
            int compos = input.IndexOf(',');
            double param1 = ToDouble(input.Substring(0, compos));
            double param2 = ToDouble(input.Substring(compos + 1));
            WriteLine("Enter M for Multiply,D for Divide.");
            input = ReadLine().ToUpper();
            if(input=="M")
            {
                process = new processdelegate(Multiply);
            }
            else if(input=="D")
            {
                process = new processdelegate(Divide);
            }
            WriteLine($"result: {process(param1, param2)}");
            ReadKey();
        }
    }
}

processdelegata委托的声明要指定返回类型和参数类型。声明processdelegata变量process时要初始化,这里设为null。

调用相应的函数使用process=new processdelegata(函数名),然后直接调用process。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值