当前位置: 首页 > news >正文

C#委托习题代码解析

C#委托经典习题代码解析

题目:
创建一个名为 Calculator 的类,其中包含以下的四个静态方法:

  • Add 方法:接收两个整数作为参数,并返回它们的和。
  • Subtract 方法:接收两个整数作为参数,并返回它们的差。
  • Multiply 方法:接收两个整数作为参数,并返回它们的积。
  • Divide 方法:接收两个整数作为参数,并返回它们的商。

Calculator 类中定义一个名为 MathOperation 的委托类型,该委托接收两个整数作为参数,并返回一个整数结果。

要求:

创建一个名为 MathCalculator 的类,其中包含一个名为 PerformOperation 的方法,该方法接收两个整数和一个 MathOperation 委托作为参数,并通过调用传入的委托执行相应的数学操作。
Main 方法中,使用以上提到的委托和方法进行数学计算(例如加法、减法、乘法、除法等)。

1、根据题目要求,我们先创建 Calculator 的类,并实现其要求的方法

代码如下:

class Calculator
{// 定义委托public delegate int MathOperation(int a, int b);// 加法public static int Add(int a, int b){return a + b;}// 减法public static int Subtract(int a, int b){return a - b;}// 乘法public static int Multiply(int a, int b){return a * b;}// 除法public static int Divide(int a, int b){if (b == 0){throw new DivideByZeroException("除数不能为0");}return a / b;}
}

2、根据题目要求,我们创建 MathCalculator 的类,并实现其 PerformOperation 方法

代码如下:

class MathCalculator
{// 根据要求 定义方法 委托作为参数传递(回调机制)具体做什么运算 -> 由传入的委托决定public int PerformOperation(int a, int b, Calculator.MathOperation operation){// 调用委托return operation(a, b);}
}

3、在 Main 方法中,使用以上提到的委托和方法进行数学计算

代码如下:

static void Main(string[] args)
{// 创建 MathCalculator 实例MathCalculator mathCalculator = new MathCalculator();// 使用不同的方法作为委托参数Console.WriteLine($"两数之和:{mathCalculator.PerformOperation(5, 3, Calculator.Add)}");Console.WriteLine($"两数之差:{mathCalculator.PerformOperation(5, 3, Calculator.Subtract)}");Console.WriteLine($"两数之积:{mathCalculator.PerformOperation(5, 3, Calculator.Multiply)}");Console.WriteLine($"两数之商:{mathCalculator.PerformOperation(5, 3, Calculator.Divide)}");// 使用 Lambda 表达式为委托提供实现int result = mathCalculator.PerformOperation(5, 3, (a, b) => a + b);Console.WriteLine($"Lambda计算结果:{result}");
}
http://www.jsqmd.com/news/446396/

相关文章:

  • 讲讲2026年泽丰自动变速箱专修,可信任吗保养专业维修反馈排名揭秘 - 工业品牌热点
  • 2026年泽丰自动变速箱服务费用多少,黑龙江值得选购的品牌 - 工业品牌热点
  • 溶氧仪哪个品牌好用,价格大概多少钱 - myqiye
  • 镜面抛光液批发破局:振鸿兴SPD模型重构高价值供应链 - 速递信息
  • 2026年考研率高的工商类民办大学排名,湖北地区哪家口碑好 - myqiye
  • 2026年北京口碑好的全屋家具定制公司推荐,专业定制服务全解析 - mypinpai
  • 口碑不错的换电柜加盟公司有哪些,在杭州值得选择吗 - 工业品网
  • 探讨黑龙江靠谱的变速箱故障检测品牌制造商,泽丰费用多少 - 工业品牌热点
  • 解读美术联考教育机构收费情况,美术联考集训机构哪家靠谱 - 工业推荐榜
  • 对象,类,方法
  • 配眼镜选哪家性价比高,唐山市舒同视光科技有啥特色服务? - myqiye
  • 2026年广东耐用性镀膜表面处理厂家排名,靠谱品牌推荐 - mypinpai
  • 盘点2026年口碑好的专业防伪公司,助力企业防伪无忧 - 工业设备
  • 禾萌公社狗粮:在均衡框架中适配多样需求 - 品牌之家
  • 2026年优质的美术画室企业推荐,福州厦门靠谱品牌大盘点 - 工业推荐榜
  • 成都厕所防水补漏找哪家?业主实测 本地top3榜单 附避坑指南 - 宁夏壹山网络
  • 2026年印刷厂升级参考:不停机换单设备厂家口碑观察,市场不停机换单印刷机聚焦技术实力与行业适配性 - 品牌推荐师
  • 2026年2月聚焦:寻找好的冷却水塔定做厂家,闭式冷却塔/圆形逆流冷却塔/冷却水塔/冷却塔填料,冷却水塔制造厂哪家权威 - 品牌推荐师
  • YOLO 企业级实战:降低 80% 人工成本,我是如何帮工厂实现 24 小时无人视觉检测
  • AI项目升级,16单赚6590元
  • YOLO 企业级实战:降低 80% 人工成本,我是如何帮工厂实现 24 小时无人视觉检测
  • 2026年留学机构哪家好,圆梦未来(深圳)教育科技靠谱吗 - mypinpai
  • 2026年留学机构哪家好,圆梦未来(深圳)教育科技靠谱吗 - mypinpai
  • 禾萌公社猫粮:为专性肉食者构建的营养方案 - 品牌之家
  • 利用SWIG实现JAVA调用C/C++代码
  • 如何高效使用线上回收平台?话费卡回收心得大公开 - 团团收购物卡回收
  • 新凯琳橡塑地板:融合材料优势,构建多场景适配地面系统 - 品牌之家
  • 山东一卡通回收平台有多少,一文全知晓 - 淘淘收小程序
  • 盘点2026年校考针对性训练培训机构课程完善的,纵横美术榜上有名 - 工业推荐榜
  • 2026年性价比高的教育科技公司盘点,圆梦未来(深圳)教育科技费用怎么收 - mypinpai