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,,,

相关推荐
曹牧5 小时前
C#:未被引用的函数
c#
上位机妹子10 小时前
EF Core 两种继承映射:每层次一张表(TPH)与每类型一张表(TPT)
数据库·c#·.netcore·ef core
小羊没烦恼!12 小时前
jQuery1.5的改进细节
java·服务器·开发语言·前端·c#
下页、再停留13 小时前
【C#桌面客户端系列学习-8】批量导出数据为csv格式
开发语言·c#·visual studio
波力海苔夹心脆67514 小时前
C# 视觉检测实战:PLC 按钮触发 VisionPro 检测,OK 亮灯 / NG 灭灯(西门子 PLC,含界面显示与图片存档)
开发语言·经验分享·c#·自动化·视觉检测·.net
kim15 小时前
一个人 + AI,用 WinForms 搓了个 376KB 的 Windows 便签:便签 / 截图 / 标注 / OCR / 待办全塞进去了
c#
hez201015 小时前
一行代码在 .NET 项目里启用 Satori GC
c#·.net·.net core·gc·clr
宇卿.15 小时前
C#语句:
开发语言·c#
咕白m62516 小时前
使用 C# 将 TIFF 转换为 PDF
前端·c#
JQLvopkk17 小时前
HslCommunication,一个工具测遍所有 PLC
开发语言·人工智能·c#·交互