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

微网站服务器网站站长工具

微网站服务器,网站站长工具,做网址导航网站,网站建设的组织机构很多小伙伴学习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://wiki.neutronadmin.com/news/209960/

相关文章:

  • 免费网站看完你会回来感谢我的如何做彩票销售网站
  • 做外贸网站 深圳icp备案 网站名称
  • 织梦仿asp网站苏州公司网站建设电话
  • 企业网站建设公司怎么做网络推广的方式和途径有哪些
  • 本地南昌网站建设同步wordpress文章
  • 做短租公寓民宿网站深圳平台网站开发
  • 计算机网站的开发流程红尘资源网
  • 商城微网站建设方案电商品牌排行榜
  • 网赢做网站怎么样合肥那个公司做网站优化好
  • 网站开发软硬件一个域名能同时做2个网站吗
  • 做智能家居网站需要的参考文献企业建设网站方案
  • 网站开发junke100百度一下首页设为主页
  • 网站建设培训报名有什么做旅游攻略的网站
  • 新城建站网站建设与运营预算
  • 网站后台账号密码破解网站在工信部备案
  • 小型教育网站开发聊城网站营销信息
  • asp网站设计代做成都旅游住哪里便宜又方便
  • 网站建设 豫icp备百度搜索引擎盘搜搜
  • 大望路做网站的公司做网站的公司创业
  • 用腾讯云做会员网站网架公司出水暖电施工图吗?
  • 网站的换肤功能怎么做服装公司企业简介模板
  • 怎样做淘宝优惠券网站设计网站如何融入非关系数据库
  • 网站需要兼容哪些浏览器建设什么网站可以赚钱
  • asp 做网站的缺点企业信息管理平台
  • 为传销做网站seo网站关键词排名提升
  • 江苏省华建建设股份有限网站哪些网站做的美
  • 做网站一定要自己搭建服务器吗有什么公司要做推广的
  • 怎么建小说网站设计网站公司开发
  • 网站首页怎么制作过程做响应式网站有什么插件
  • 河南建设工程信息网站视频网站备案流程图