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

网站建设合同.doc安卓优化大师最新版下载

网站建设合同.doc,安卓优化大师最新版下载,公司介绍ppt制作,卫生室可以做网站吗总目录 C# 语法总目录 委托 委托1. 基本用法2.委托作为方法参数3.多播委托4.实例对象方法、静态方法与委托之间的关系5. 委托类型参数为泛型6. System空间下的 Func 委托和 Action 委托 委托 委托类似于CPP中的函数指针。它定义了一个方法类型,这个方法类型有返回类…

总目录
C# 语法总目录

委托

    • 委托
      • 1. 基本用法
      • 2.委托作为方法参数
      • 3.多播委托
      • 4.实例对象方法、静态方法与委托之间的关系
      • 5. 委托类型参数为泛型
      • 6. System空间下的 Func 委托和 Action 委托

委托

  委托类似于CPP中的函数指针。它定义了一个方法类型,这个方法类型有返回类型和形参,不需要方法体,但是在声明这个方法类型时要添加delegate关键字

1. 基本用法

切换委托的方法指向,从而执行不同方法。

namespace TopSet
{internal class Program{//声明委托类型delegate int MethodTypeOfDelegate(int a, int b);static void Main(string[] args){//给委托类型赋值MethodTypeOfDelegate mt = Add;Console.WriteLine(mt(1,2));mt = Dec;Console.WriteLine(mt(2,1));Console.ReadLine();}static int Add(int a,int b){return a + b;}static int Dec(int a,int b){return a - b;}}
}--输出
3
1

2.委托作为方法参数

委托类型作为某个方法的参数传入

namespace TopSet01
{internal class Program{//声明委托类型delegate int MethodTypeOfDelegate(int a);static void Main(string[] args){int a = 5;//传入MultiValue(ref a, Add);Console.WriteLine(a);Console.ReadLine();}//委托类型作为参数static void MultiValue(ref int a,MethodTypeOfDelegate mt){a = mt(a);}static int Add(int a){return a * a;}}
}

3.多播委托

  多播委托就是把需要按照顺序执行的,相同类型的委托方法加到一起,执行的时候会按照顺序执行所有的委托方法。可以用于控制台和日志文件的输出。

下方案例仅供演示用法,具体问题需要灵活变通后使用。

namespace TopSet02
{public delegate void MethodTypeOfDelegate(int a);public class Util{public static void PrintSquence(int a,MethodTypeOfDelegate mt){mt(a);}}internal class Program{static void Main(string[] args){MethodTypeOfDelegate? mt = null;//加起来,按照加入的顺序执行mt += PrintSelf;mt += PrintMul;int a = 5;Util.PrintSquence(a, mt);Console.ReadLine();}static void PrintSelf(int a){Console.WriteLine(a);}static void PrintMul(int a){Console.WriteLine(a*a);}}
}--输出
5
25

4.实例对象方法、静态方法与委托之间的关系

  这里实例对象方法指的是 new 出来的一个对象,它的方法赋值给委托变量。委托变量不仅可以调用该方法,而且委托变量还能获取到这些对象方法所对应的对象。如果是静态方法赋值给委托变量,无法获取对应的对象,对象方法可以。

namespace TopSet03
{public delegate void MethodTypeOfDelegate(int a);public class StaticMethodClass{public static void PrintSelf(int a){Console.WriteLine("here is static method: "+a);}}public class NormalClass{public void PrintSelf(int a){Console.WriteLine("here is normal method: " + a);}}internal class Program{static void Main(string[] args){MethodTypeOfDelegate? mt = null;NormalClass nc = new NormalClass();//可以获取到对象方法是来自哪一个类mt = nc.PrintSelf;Console.WriteLine((mt.Target==nc)+"   :"+mt.Method);//无法获取静态方法对应的类mt = StaticMethodClass.PrintSelf;Console.WriteLine(mt.Target == null);Console.ReadLine();}}
}--输出
True   :Void PrintSelf(Int32)
True

5. 委托类型参数为泛型

这个和基本用法几乎一样,就是改个参数类型。

namespace TopSet04
{public delegate T MethodTypeOfDelegate<T>(T a);internal class Program{static void Main(string[] args){MethodTypeOfDelegate<int> mti = Mul;Console.WriteLine(mti(5));MethodTypeOfDelegate<float> mtf = Mulf;Console.WriteLine(mtf(3.0f));Console.ReadLine();}static int Mul(int a){return a * a;}static float Mulf(float a){return a * a;}}
}--输出
25
9

6. System空间下的 Func 委托和 Action 委托

  Func和Action都是委托类型为参数的委托,是System提供的。

  Func委托最后一个泛型类型必须是传出类型而且该委托的返回值必须是传出类型,即必须添加 out 标识符,如果只有一个泛型参数,那么这个泛型必须是 传出类型。

  Action委托是返回值为空的,参数是泛型的委托。

namespace TopSet05
{internal class Program{static void Main(string[] args){Action<int, int> a = Add;a(1, 2);Func<int, int, int> f = Dec;Console.WriteLine(f(2,1));}//Action类型static void Add(int a,int b){Console.WriteLine(a+b);}//Func类型,返回值为intstatic int Dec(int a,int b){return a - b;}}}

总目录
C# 语法总目录

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

相关文章:

  • 番禺网站建设系统营销推广的公司
  • 最简单的一个网站开发顺的网络做网站好不好
  • 重庆网站建设总结企业网站管理系统php源码
  • 羊 东莞网站开发哈尔滨中企动力科技股份有限公司
  • 山东做网站建设的好公司wordpress cropping 图片 出错
  • 深圳建设工程交易网站宝安品牌注册商标查询
  • wordpress注册显示密码谷歌seo推广服务
  • 哪里有手机网站建设网站开发好学
  • 网站头页电子商城网站设计论文
  • 重庆模板网站哪个好php 网站开发 pdf
  • 政务公开网站建设的亮点和建议计算机网络营销策划方案
  • 服务器搭建网站方案500字做电商网站前期做什么工作
  • 小游戏网站怎么做flash做的个人网站
  • 网站建设 psd网站建设 小程序
  • 自己做淘宝返利网站室内设计师培训哪里好
  • 惠州营销网站建设公司山西建设厅报名网站
  • 企业网站seo方案互联网营销行业前景
  • 新注册域名做网站好处骏域网站建设专家广州
  • 什么网站可以自己做字科迪兔网站建设
  • 有了域名 做网站青海服装网站建设公司
  • 巨蟹座适合网站建设吗dedecms做的网站收费吗
  • 电商平台网站有哪些网上商城如何做起来
  • 网站开发方案pptwordpress用户自定义作者
  • 宁波网站推广联系方式网站建设费用应按几年摊销
  • 江西省住房和城乡建设部网站设置网站的黑名单怎么做
  • 安徽城乡建设厅网站焊工证查询二维码生成器制作
  • 做好网站建设通知wordpress 最新一片文章
  • 给个网站做填空题青岛网站策划
  • 广州网站开发系统网站建设捌金手指专业8
  • 房地产建设企业网站爱凡客