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

wordpress 可视化建站山西太原室内设计学校

wordpress 可视化建站,山西太原室内设计学校,建设旅游服务类网站的可行性报告,检测一个网站用什么软件做的方法目录 一、委托 1.什么是委托 2.委托类型的声明与初始化 3.委托类型引用方法的调用 4.使用委托类型作为方法的参数 5.Action委托 6.Func委托 7.通用类型冒泡排序 8.多播委托 二、Lambda表达式 1.匿名方法 2.Lambda表达式表示匿名方法 三、事件 1.什么是事件 2.事件…

目录

一、委托

1.什么是委托

2.委托类型的声明与初始化

3.委托类型引用方法的调用

4.使用委托类型作为方法的参数

5.Action委托

6.Func委托

7.通用类型冒泡排序

8.多播委托

二、Lambda表达式

1.匿名方法

2.Lambda表达式表示匿名方法

三、事件

1.什么是事件

 2.事件应用——观察者模式


一、委托

1.什么是委托

从数据结构来讲,委托是和类一样是一种用户自定义类型;从设计模式来讲,委托(类)提供了方法(对象)的抽象。它存储的就是一系列具有相同签名和返回回类型的方法的地址。调用委托的时候,委托包含的所有方法将被执行。

2.委托类型的声明与初始化

声明:

  1. 以delegate关键字开头。
  2.  返回类型+委托类型名+参数列表

delegate void MyDelegate(int a);

这个委托可以指向带有一个int类型的参数,并且返回值是void的方法。

MyDelegate  myDel;

初始化:

  1. myDel= new MyDelegate(GetNumber);
  2. myDel=GetNumber;

3.委托类型引用方法的调用

delegate  int  MyDelegate(int a);

MyDelegate  myDel=GetNumber;

第一种:int  res1 = myDel(10);//通过委托实例去调用myDel所引用的方法

第二种:int  res2 = myDel.Invoke(10);//通过invoke方法调用myDel所引用的方法

两种方式调用方法都一样

4.使用委托类型作为方法的参数

5.Action委托

  1. Action是系统内置(预定义)的一个委托类型,它可以指向一个没有返回值,没有参数的方法 Action A1= GetNumber;
  2. Action可以后面通过泛型去指定action指向的方法的多个参数的类型 ,参数的类型跟Action后面声明的委托类型是对应着的(最多16个参数) Action<string> A2=PrintInt; Action<string, int> A3 = GetStrNum; A3("LOL",10);

6.Func委托

Func引用了一个带有一个返回值的方法,它可以传递0或者多到16个参数类型,和一个返回类型

 Func<int> F1 = Test1;

 Func<string, int> F2 = Test2;

 Func<int, string, int> F3 = Test3;

7.通用类型冒泡排序

(1)对int类型数组进行排序

(2)通用的排序方法

8.多播委托

添加移除委托的引用

前面使用的委托都只包含一个方法的调用,但是委托也可以包含多个方法,这种委托叫做多播委托。使用多播委托就可以按照顺序调用多个方法,多播委托只能得到调用的最后一个方法的结果,一般我们把多播委托的返回类型声明为void。

二、Lambda表达式

1.匿名方法

到目前为止,使用委托,都是先定义一个方法,然后把方法给委托的实例。但还有另外一种使用委托的方式,不用去定义一个方法,应该说是使用匿名方法(方法没有名字)。

在这里相当于直接把要引用的方法直接写在了后面,优点是减少了要编写的代码,减少代码的复杂性。匿名方法 本质上是一个方法,只是没有名字,任何使用委托变量的地方都可以使用匿名方法赋值。

2.Lambda表达式表示匿名方法

从C#3.0开始,可以使用Lambda表达式代替匿名方法。只要有委托参数类型的地方就可以使用Lambda表达式。Lambda运算符“=>”的左边列出了需要的参数,如果是一个参数可以直接写  a=>(参数名自己定义),如果多个参数就使用括号括起来,参数之间以,间隔,无参数的的话不能省略()。

(1)如果Lambda表达式只有一条语句,在方法快内就不需要花括号和return语句,编译器会自动添加return语句,

  Func<double,double> square = x=>x*x;     

  添加花括号,return语句和分号是完全合法的

  Func<double,double> square = x=>

  {

  return x*x;

  }

(2)如果Lambda表达式的实现代码中需要多条语句,就必须添加花括号和return语句。

三、事件

1.什么是事件

事件(event)基于委托,为委托提供了一个发布/订阅机制,我们可以说事件是一种具有特殊签名的委托。事件(event)是类或对象向其他类或对象通知发生的事情的一种特殊签名的委托。

 事件的声明

public event 委托类型 事件名;

事件使用event关键词来声明,他的返回类值是一个委托类型。

通常事件的命名,以名字+Event 作为他的名称,在编码中尽量使用规范命名,增加代码可读性。

 2.事件应用——观察者模式

 一群老鼠在房间里面偷东西,猫进房间喵喵叫,老鼠逃跑,主人被吵醒。

 

 该事件的实现

http://www.yayakq.cn/news/533671/

相关文章:

  • 广州百度网站搭建广州注册公司新政策
  • 凡科一个注册做2个网站上海高端网站制作公司
  • lua做网站wordpress采集文章后定时发布
  • 设计网站企业网站建设公司推广产品的软文怎么写
  • 电子商务在线网站建设嘉兴 企业网站 哪家
  • 高端网站建设 深圳张家港江阴网站制作
  • 建个可以注册会员网站多少钱做查询系统网站
  • 创建一个网站需要多少钱全国企业系统网站建设
  • 做网站工作的怎么填职务嘉兴优化网站哪家好
  • 西安电商网站制作北京做网络工程公司的网站
  • python做网站多么个人理财的网站开发
  • 网站开发后 怎么换前端网校网站建设多少钱
  • 青州专业网站建设wordpress 新窗口打开
  • 理性仁网站如何做估值分析外链网站
  • 手机网站建设 苏州设计素材网站合集
  • 蒙城做网站的公司生成器在线制作
  • 信息展示网站系统微信微网站开发教程
  • 宜昌城市建设学校网站制作什么网站好
  • 做网站 超速云开发公司消防未移交物业
  • 成都市分类信息网站开发opencms做网站 谁
  • 嘉兴建网站wordpress界面菜单怎么弄
  • 国哥说军事最新消息网站排名优化培训哪家好
  • 网站加载等待word页面设计模板
  • 哈尔滨网站域名归那里管智能小程序开发者平台
  • 哪个网站是营销型网站做网站 需要什么样的服务器
  • 网站查询工信部wordpress个人主题
  • 郑州达云通网站建设公司线上平面设计培训
  • 做商业网站需要注册公司吗如何制作wordpress模板下载地址
  • 网站多语言包制作网线水晶头
  • 江门网站推广策划传媒网站给行业做宣传