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

C# 7.1 .Net Framwork4.7 VS2017环境下,方法的引用与调用

方法的调用比较好理解,就是给方法传递实参,执行方法代码。

方法引用涉及委托,委托签名与其引用的方法必须一致。以下demo说明方法调用与引用在写程序时的区别:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 方法的引用与调用
{
    /// <summary>
    /// 定义一个委托,签名:参数两个double,返回一个double
    /// </summary>
    /// <param name="d1"></param>
    /// <param name="d2"></param>
    /// <returns></returns>
    public delegate double GetResult(double d1, double d2);
    class Program
    {
        static void Main(string[] args)
        {
            //方法的调用
            double num1 = 10;
            double num2 = 15;
            double result_CallMethod = GetSum(GetSum(num1, num2), 25);//result_CallMethod = 50

            //方法的引用
            double result_ReferenceMethod = Calculate(GetSum, num1, num2);//result_ReferenceMethod = 25
        }

        static double GetSum(double a1, double a2) => a1 + a2;

        static double Calculate(GetResult getresult,double d1, double d2) => getresult(d1, d2);
    }
}

so simple and clear,,,


http://www.kler.cn/a/414104.html

相关文章:

  • dns 服务器简单介绍
  • AI智算-正式上架GPU资源监控概览 Grafana Dashboard
  • Linux服务器安装mongodb
  • Spring Boot开发实战:从入门到构建高效应用
  • Ubuntu20.04+ROS 进行机械臂抓取仿真:环境搭建(一)
  • 前端项目的动态路由实现(vue)
  • InstructGPT——AI 模型的对齐革命
  • 【插入排序】:直接插入排序、二分插入排序、shell排序
  • Python练习47
  • cesium 3dtile ClippingPlanes 多边形挖洞ClippingPlaneCollection
  • 同三维T80005JEHVA视频解码器
  • 算法知识-14-递归
  • VTK的基本概念(一)
  • 【Qt】QSettings类实现配置信息长期保存(掉电不擦除)
  • 【开发商城系统】
  • Redis开发03:常见的Redis命令
  • pandas 数据分析流程
  • 鸿蒙HarmonyOS学习笔记(6)
  • Opencv+ROS实现摄像头读取处理画面信息
  • Vue3.0里为什么要用 Proxy API 替代 defineProperty API ?
  • OGRE 3D----5. OGRE和QML事件交互
  • HarmonyOS-初级(二)
  • Spring Boot整合EasyExcel
  • WPS文字学习计划与策略
  • 在受限网络环境下的 Docker 部署实践 —— Strapi 和 Appsmith 的解决之道20241128
  • python-解决一元一次方程