当前位置: 代码迷 >> C# >> C#1到C#4使用嘱托的几种方式
  详细解决方案

C#1到C#4使用嘱托的几种方式

热度:59   发布时间:2016-05-05 04:47:08.0
C#1到C#4使用委托的几种方式
using System;namespace DelegateDemo{    class Program    {        private delegate int Cacu(string str);        static void Main(string[] args)        {            //1            Cacu cacu = new Cacu(CacuInstance);            Console.WriteLine(cacu("Hello,Wrold"));            //2            Cacu cacu1 = new Cacu(delegate(string str) { return str.Length; });            Console.WriteLine(cacu1("Hello,Wrold"));            //3            Cacu cacu2 = new Cacu((str) => { return str.Length; });            Console.WriteLine(cacu2("Hello,Wrold"));        }        static int CacuInstance(string str)        {            return str.Length;        }    }}

 

4楼???
我对委托始终理解起来很困难,有没有什么简单办法让借鉴一下。。。
Re: 弎吩锺熱℃
@???,学过C++么?我觉得委托跟C++的函数指针很相似。
Re: zhoumy
@???,其实可以这样理解:,委托也是一种类型,只是这种类型在实例化的时候需要传入一个方法作为参数。,,当一个委托被实例化为委托对象后,实际上这个委托对象就代表了一个方法组。注意,是方法组,而不仅仅是一个方法。这也是委托和C++中的函数指针比较不同的一点。,就以上面的代码为例:,Cacu cacu += CacuInstance;,Cacu cacu += CacuInstance;,Cacu cacu += CacuInstance;,,当cacu这个委托实例被调用的时候,实际上会执行3次CacuInstance。
3楼???
C++考了89,还不错,但是指针我能理解,这个理解起来咋就这么困难,你能具体的说说吗?已赞!!!
2楼???
上面第三个(str)=gt;{return str.lengt
1楼???
谢谢,现在貌似明白点了,呵呵
  相关解决方案