知识大全 通过代码学习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]

关于.NET的委托[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  NET学习中你碰到过委托

知识大全 C#ADO.NET操作数据代码汇总

C#ADO.NET操作数据代码汇总  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一.用SqlC

知识大全 Viusal C++.NET的优化代码

ViusalC++.NET的优化代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!前言 

知识大全 Viusal C++.NET 2003 的优化代码

ViusalC++.NET2003的优化代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  前言

知识大全 通过事例学习.net的WebForms技术(一)

通过事例学习.net的WebForms技术(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 asp.net中水印的实现代码

  水印是为了防止别盗用我们的图片  两种方式实现水印效果  )可以在用户上传时添加水印  a)好处:与种方法相比用户每次读取此图片时服务器直接发送给客户就行了  b)缺点:破坏了原始图片  )通过全

知识大全 .NET 委托

.NET委托  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  委托类型定义  C#编译器处理委托时

填单委托的内容

填单委托的内容在填单委托方式下,投资者必须买一张委托单(通常是l元一张,自助委托方式下委托费也是1元)。在委托单中需要填写的内容主要有:股东代码、资金账号,股票代码(股票名称),买卖性质、委托数量、委

知识大全 关于.NET的委托[2]

关于.NET的委托[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  //

知识大全 asp.net教程-委托(Delegate)

asp.net教程-委托(Delegate)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs