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

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

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

cs 复制代码
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,,,

相关推荐
chao1898446 分钟前
基于C# WinForm实现的仿微信打飞机游戏
游戏·微信·c#
wearegogog1231 小时前
C# 条码打印程序(一维码 + 二维码)
java·开发语言·c#
sali-tec1 小时前
C# 基于halcon的视觉工作流-章69 深度学习-异常值检测
开发语言·图像处理·算法·计算机视觉·c#
我是唐青枫1 小时前
深入理解 C#.NET 运算符重载:语法、设计原则与最佳实践
开发语言·c#·.net
Lv11770082 小时前
Visual Studio中的字典
ide·笔记·c#·visual studio
helloworddm3 小时前
LocalGrainDirectory详解
c#
武藤一雄4 小时前
.NET 中常见计时器大全
microsoft·微软·c#·.net·wpf·.netcore
Lv11770085 小时前
Visual Studio中Array数组的常用查询方法
笔记·算法·c#·visual studio
wearegogog1235 小时前
基于C#的FTP客户端实现方案
java·网络·c#
wuguan_5 小时前
C#之ArrayList
c#·arraylist