委托在什么时候才用到,能打个比方不 谢谢了,因为目前比较迷芒,需要指路人,我连什么时候用都不知道,就更不用谈怎么用了是吧,快来指点一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-in-CSharp.aspx看看这篇文章,我认为这个是我看到过讲委托讲得最浅显易懂的一篇 14分?都没动力了,算了,发下慈悲吧给你举个例子系统给我们提供了一个高效的排序算法,Arrary.Sort我们可以给字符串数组排序,但也许你需要一个自定义排序,难道自己写算法?显然不是,我们需要借用系统的算法,实现自定义排序,怎么办呢?——对,就是委托Array.Sort(T[],Comparison<T>)也许我们需要这样的排序:按字符串的长短排序,而不是按字母顺序我来实现一下我使用最古老的语法,而不是匿名方法和Lambda表达式,以免你看不懂string[]strs;Comparison<T>委托的原型为:int (T,T)显然,自定义的Rule方法符合该委托,可以被调用int Rule(string first,string second)//自定义排序,规则为字符串的长度排序{int length1=first.Length;int length2=second.Length;return length1.CompareTo(length2);}Arrary(strs,Rule);// 写程序时, 需要一个整数, 定义一个 int 变量需要一个字符串, 定义一个 string 变量需要一个功能呢? 比如上头有个排序的.在一个函数中除了需要常规变量, 通常也会需要一个 _功能_.于是, 代理就来了, 它也是变量, 不过类型比较特殊,类型描述了 一个函数调用的 原型 (signature).这样, 就可以象使用整型, 字符串一样的来使用函数作为变量了. 如何判断用户是否在操作本程序? linq如何更新外键约束的列 用XPath解析XML,然后用StringBuilder输出数据和用XML生成DataTable,然后用Repeater绑定两种方法的比较 hashtable来作为Gridview数据源绑定是的问题 想找家公司体验实际的软件开发的生活,大伙给点建议 请问下这个怎么弄? 有关dataGridView的单元格的编辑问题 高手来帮我看下,送分题。。。 我想在程序里用Excel,请问需要在VS添加一个什么选项?小问题,不过挻急的 一个有关空引用的问题 关于对数据库信息的修改! 为何注册DLL不成功
我们可以给字符串数组排序,但也许你需要一个自定义排序,难道自己写算法?
显然不是,我们需要借用系统的算法,实现自定义排序,怎么办呢?——对,就是委托
Array.Sort(T[],Comparison<T>)也许我们需要这样的排序:按字符串的长短排序,而不是按字母顺序
我来实现一下
我使用最古老的语法,而不是匿名方法和Lambda表达式,以免你看不懂
string[]strs;
Comparison<T>委托的原型为:
int (T,T)
显然,自定义的Rule方法符合该委托,可以被调用
int Rule(string first,string second)//自定义排序,规则为字符串的长度排序
{
int length1=first.Length;
int length2=second.Length;
return length1.CompareTo(length2);
}Arrary(strs,Rule);//
需要一个整数, 定义一个 int 变量
需要一个字符串, 定义一个 string 变量需要一个功能呢? 比如上头有个排序的.在一个函数中除了需要常规变量, 通常也会需要一个 _功能_.于是, 代理就来了, 它也是变量, 不过类型比较特殊,
类型描述了 一个函数调用的 原型 (signature).这样, 就可以象使用整型, 字符串一样的来使用函数作为变量了.