知识大全 通过代码学习C#&.NET——委托使用
Posted 类型
篇首语:黄沙百战穿金甲,不破楼兰终不还。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 通过代码学习C#&.NET——委托使用相关的知识,希望对你有一定的参考价值。
通过代码学习C#&.NET——委托使用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
代码编写及运行环境Visual Studio NET v
view plain using System using System Collections Generic using System Linq using System Text
namespace DelegateUseInCommonClass /// <summary> /// 一般通用类的设计都包含一些标准的任务代码 这些代码包含任务如何执行的逻辑 但是有的时候这些任务包含一些/// 子任务 只有具体使用通用类的对象才知道如何执行这些子任务 比如说:/// 建立了一个给对象排序的通用类 在使用的时候需要知道具体的排序规则才能顺利完成排序 比如int对象是比较大小 /// string对象是比较第一个字母 一些复杂对象可能是比较其中的某个属性值完成排序
/// 这种情况可以通过委托实现 对于子任务使用委托 可以方便通用类的使用者具体执行执行子任务的方式
/// </summary> class Program static void Main(string[] args)
//定义并初始化不同类型的三个数组int[] intItems = string[] stringItems = test best active card book Person[] personItems = new Person( Mark ) new Person( Mary ) new Person( Oscar ) new Person( Kele ) new Person( Ada )
#region Int类型的排序
Console WriteLine( intItems排序前 ) Console Write( ) foreach (int i in intItems)
Console Write(string Format( i)) Console WriteLine() //给intItems排序CommonClass Sort<int>(intItems (item item ) => if (item > item )
return true else return false ) Console WriteLine( intItems按Int值从小到大排序后 ) Console Write( ) foreach (int i in intItems)
Console Write(string Format( i)) Console WriteLine()
#endregion
#region String类型的排序Console WriteLine( stringItems排序前 ) Console Write( ) foreach (string str in stringItems)
Console Write(string Format( str)) Console WriteLine() //给stringItems排序CommonClass Sort<string>(stringItems (item item ) => if (item CompareTo(item ) > )
return true else return false ) Console WriteLine( stringItems按string首字母排序后 ) Console Write( ) foreach (string str in stringItems)
Console Write(string Format( str)) Console WriteLine()
#endregion
#region Person类型的排序
Console WriteLine( personItems排序前 ) foreach (Person per in personItems)
Console WriteLine(string Format( Person Name Age per Name per Age)) CommonClass Sort<Person>(personItems (item item ) => if (item Age > item Age)
return true else return false ) Console WriteLine( personItems按年龄从小到大排序后 ) foreach (Person per in personItems)
Console WriteLine(string Format( Person Name Age per Name per Age)) CommonClass Sort<Person>(personItems (item item ) => if (item Name CompareTo(item Name)> )
return true else return false ) Console WriteLine( personItems按姓名首字母排序后 ) foreach (Person per in personItems)
Console WriteLine(string Format( Person Name Age per Name per Age))
#endregion
//定义Person类class Person private int _Age private string _Name
public int Age get return _Age set _Age = value public string Name get return _Name set _Name = value
public Person(int age string name)
_Age = age _Name = name
#region 比较通用类设计/// <summary> /// 此处使用排序来说明委托在通用类中的使用 此方法在多本C#说中都有介绍 包括:/// 《C#本质论》/// 《C#高级编程》/// </summary> class CommonClass //定义用于比较两个对象并返回bool类型的委托类型public delegate bool Compare<T>(T item T item )
//通用排序方法 可以用于比较任何对象 具体比较结果依赖于子任务Compare<T>类型的pare public static void Sort<T>(T[] items Compare<T> pare)
for (int i = i < items Count() i++)
for (int j = i j < items Count() j++)
if (pare(items[i] items[j]))
cha138/Article/program/net/201311/13262相关参考
关于.NET的委托[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! NET学习中你碰到过委托
C#ADO.NET操作数据代码汇总 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一.用SqlC
ViusalC++.NET的优化代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!前言
知识大全 Viusal C++.NET 2003 的优化代码
ViusalC++.NET2003的优化代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前言
通过事例学习.net的WebForms技术(一) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
水印是为了防止别盗用我们的图片 两种方式实现水印效果 )可以在用户上传时添加水印 a)好处:与种方法相比用户每次读取此图片时服务器直接发送给客户就行了 b)缺点:破坏了原始图片 )通过全
.NET委托 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 委托类型定义 C#编译器处理委托时
填单委托的内容在填单委托方式下,投资者必须买一张委托单(通常是l元一张,自助委托方式下委托费也是1元)。在委托单中需要填写的内容主要有:股东代码、资金账号,股票代码(股票名称),买卖性质、委托数量、委
关于.NET的委托[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! //
asp.net教程-委托(Delegate) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs