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

相关推荐
go_bai24 分钟前
动态内存管理的知识点笔记总结
c语言·开发语言·笔记·c#·学习方法
zaim125 分钟前
计算机的错误计算(一百六十八)
java·c++·python·matlab·rust·c#·大数
Lazy龙1 小时前
C#中判断两个 List<T> 的内容是否相等
c#·游戏程序
三天不学习1 小时前
【实体配置】.NET开源 ORM 框架 SqlSugar 系列
数据库·c#·.net·orm
三天不学习1 小时前
【Db First】.NET开源 ORM 框架 SqlSugar 系列
数据库·.net·orm
程饱饱吃得好饱2 小时前
“小bug”示例
开发语言·c#·bug
czwy2 小时前
什么是.NET的强类型字符串(Strongly typed string)?
c#
坐井观老天3 小时前
在C#中使用OpenCV的.net包装器EmguCV
人工智能·opencv·c#·.net
Eiceblue4 小时前
.NET平台用C#添加动作到PDF文档
开发语言·vscode·pdf·c#·.net