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

微网站建设定制网站建设公司取名软件

微网站建设定制网站建设,公司取名软件,建设旅游景点的网站的好处,c2c电子商务网站定制开发很多小伙伴学习C# 的委托时往往一头雾水, 不明白委托是什么, 有什么作用, 今天我就用2分钟讲清楚 这是一个C# 的控制台程序 定义一个最简单的委托 delegate int Calculate(int a, int b); 这相当于定义了一个Calculate类型, 只不过这个类型需要传入2个int类型的参数 返回值也…很多小伙伴学习C# 的委托时往往一头雾水, 不明白委托是什么, 有什么作用, 今天我就用2分钟讲清楚 这是一个C# 的控制台程序 定义一个最简单的委托 delegate int Calculate(int a, int b); 这相当于定义了一个Calculate类型, 只不过这个类型需要传入2个int类型的参数 返回值也是int 委托的意义在于, 它可以将函数封装成可以像变量 int, string这样的类型传入到另外的函数中, 例如函数int Test(int a, int b, Calculate c) 这大大提高了函数的功能和可扩展性, 可以在不改变Test函数的参数的同时, 通过改变Calculate 来改变Test内部的逻辑关系 namespace DelegateTest {public class Program{//定义一个Calculate 类型的委托delegate int Calculate(int a, int b); static void Main(string[] args){//定义一个返回值和参数都与Calculate相同的加法函数int Add(int a, int b){return a b;}//定义一个返回值和参数都与Calculate相同的减法函数int Sub(int a, int b){return a - b;}//将委托类型calculate当参数传入函数int Test(int a, int b, Calculate calculate){return calculate(a, b) a;}//委托的精髓在于, 将委托看作一种类型, 和int, String一样的类型.//只不过int a b; 是将 int类型的变量 b 赋值给 a, //而Calculate calculate1 Sub; 是将Calculate类型的 Sub 赋值给 calculate1Calculate calculate1 Sub; //定义一个Calculate 类型的calculate1字段, 并将Sub函数传递给它Calculate calculate2 Add; //定义一个Calculate 类型的calculate2字段, 并将Add函数传递给它int i Test(1, 2, calculate1); //返回 1 (12) 4int j Test(1, 2, calculate2); //返回 1 (1-2) 0Console.WriteLine(i的值是: i);Console.WriteLine(j的值是: j);}}}很多人不知道, C# 的委托, 和C语言的函数指针是一个东西 我们把C sharp的 delegate int Calculate(int a, int b) 换成C语言的 typedef int (*Calculate)(int a, int b) // FunctionPoint.cpp : 此文件包含 main 函数。程序执行将在此处开始并结束。 //#include stdio.h//定义一个Calculate 类型的委托//delegate int Calculate(int a, int b); typedef int (*Calculate)(int a, int b);//定义一个返回值和参数都与Calculate相同的加法函数int Add(int a, int b){return a b;}//定义一个返回值和参数都与Calculate相同的减法函数int Sub(int a, int b){return a - b;}//将委托类型calculate当参数传入函数int Test(int a, int b, Calculate calculate){return a calculate(a, b);}int main() {//委托/函数指针的精髓在于, 将委托看作一种类型, 和int, String一样的类型.//只不过int a b; 是将 int类型的变量 b 赋值给 a, //而Calculate calculate1 Sub; 是将Calculate类型的 Sub 赋值给 calculate1Calculate calculate1 Add;Calculate calculate2 Sub;int i Test(1, 2, calculate1); //返回 1 (12) 4int j Test(1, 2, calculate2); //返回 1 (1-2) 0printf(i的值是: %d\n, i);printf(j的值是: %d\n, j); } 可以运行一下, 这两个程序返回的结果是一样的. 如果放在java 上怎么实现? 函数式接口和委托, 函数指针是一脉相承的! package com.example.design;import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest;SpringBootTest class DesignApplicationTests {//定义一个Calculate 类型的委托//delegate int Calculate(int a, int b);//typedef int (*Calculate)(int a, int b);FunctionalInterfaceinterface ICalculate{Integer Calculate (Integer a, Integer b);}//定义一个返回值和参数都与Calculate相同的加法函数Integer Add(Integer a, Integer b){return a b;}//定义一个返回值和参数都与Calculate相同的减法函数Integer Sub(Integer a, Integer b){return a - b;}//将委托类型calculate当参数传入函数Integer Test(Integer a, Integer b, ICalculate iCalculate){return a iCalculate.Calculate(a, b);}Testvoid contextLoads() {//委托/函数指针的精髓在于, 将委托看作一种类型, 和int, String一样的类型.//只不过int a b; 是将 int类型的变量 b 赋值给 a,//而Calculate calculate1 Sub; 是将Calculate类型的 Sub 赋值给 calculate1ICalculate calculate1 this::Add;ICalculate calculate2 this::Sub;Integer i Test(1,2,calculate1);//返回 1 (12) 4Integer j Test(1,2,calculate2);//返回 1 (1-2) 0System.out.println(i的值是:i);System.out.println(j的值是:j);}}
http://www.dnsts.com.cn/news/69704.html

相关文章:

  • 软件库网站大全做企业网站那家好
  • 环艺做网站沐风wordpress
  • 组织网站建设应该注意什么手机网站域名m打头
  • 帝国网站seowordpress怎样给目录增加
  • 策划与设计一个电子商务网站做公司网站需要哪些资料
  • 做电影下载网站需要什么软件巨省网站
  • 常州网站制作策划品牌手机网站开发
  • 机械网站建设案例分类信息免费发布大全
  • 全国设计网站公司app软件小程序网站建设
  • 淘宝单页面网站简单分析网站的外链 以及优化的策略.
  • 做一个企业网站需要多长时间wordpress 新浪图片
  • 专业做网站流程常州市做网站的公司
  • 网站排名软件推荐太原工程建设信息网站
  • 广安门内网站建设名片设计模板
  • 网站收录查询工具财务软件做账流程
  • 全屏网站怎么做的新浪网站怎么做推广
  • 网站优化标题不超过多少个字符网站建设神器
  • vps设置网站访问用户权限网页设计代码动漫
  • 河北住房与建设信息网站wordpress前端ajax登录 注册
  • 网站制作文章标签成全视频观看技巧和方法
  • 化工网站模板下载网站开发员工保密协议
  • 网站背景色网站建设经典教材
  • 网站背景图片怎么做一家只做家纺的网站
  • 哪里有人收费做网站太原建设银行保安招聘网站
  • 企业网站建设排名口碑阳江招聘网最新消息今天招聘
  • 鞍山高新区网站商旅平台app
  • 做色流网站要注意什么地方刚发布的手机
  • 如何在社交网站上做视频推广方案网站cms是什么意思
  • 网站开发如何入账海口企业自助建站系统
  • 昆明凡科建站多少钱吉林seo基础