zoukankan      html  css  js  c++  java
  • C#委托实例

    // 委托使用例子
    // 节选自《C#入门经典》
    
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace weituo
    {
        class Program
        {
            static void Main(string[] args)
            {
                // 声明委托变量
                ProcessDelegate process;
                Console.WriteLine("请输入用逗号分隔的两个数字:");
                string input = Console.ReadLine();
                int commaPos = input.IndexOf(',');
                double param1 = Convert.ToDouble(input.Substring(0, commaPos));
                double param2 = Convert.ToDouble(input.Substring(commaPos + 1,input.Length - commaPos -1));
    
                Console.WriteLine("输入M乘法D除法");
                input =Console.ReadLine();
    
                // 初始化委托变量
                if(input =="M")
                    process = new ProcessDelegate(Multiply);
                    //注释:此处也可以写process = Multiply
                else 
                    process = new ProcessDelegate(Divide);
    
                // 使用委托调用函数
                double result = process(param1,param2);
                Console.WriteLine("结果:{0}",result);
                Console.ReadKey();
    
            }
    
            // 声明委托
            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;
            }
    
        }
    }
    
    

  • 相关阅读:
    用内联取代宏代码
    参数的缺省值
    令人迷惑的隐藏规则
    重载与覆盖
    重载是如何实现的?
    重载的起源
    C++函数的高级特性
    使用调试器逐步跟踪程序
    new/delete 的使用要点
    malloc/free 的使用要点
  • 原文地址:https://www.cnblogs.com/liming1019/p/1924948.html
Copyright © 2011-2022 走看看