C#代理类型学习记录(拷贝的代码哈哈)
2011-04-29 09:57
375 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; //http://www.cnblogs.com/jiahaipeng/archive/2008/10/23/1317430.html 此文的演示代码。 namespace DelegatePrograme { delegate bool CompareOp(object lhs, object rhs); class Program { static void Main(string[] args) { Employee[] employees = { new Employee("Jone",2000), new Employee("Tom",2500), new Employee("Buddy",2300), new Employee("Wiley",2800), new Employee("Fudd",1900), }; CompareOp compareOp = new CompareOp(Employee.Compare); BubbleSorter.Sort(employees, compareOp); for (int i = 0; i < employees.Length; i++) Console.WriteLine(employees[i].ToString()); Console.ReadLine(); } } class BubbleSorter { /**/ /// <summary> /// 冒泡排序方法 /// </summary> /// <param name="sortArray">要排序的一组对象</param> /// <param name="getCompareMethod">判断两个对象大小的方法</param> public static void Sort(object[] sortArray, CompareOp getCompareMethod) { for (int i = 0; i < sortArray.Length; i++) for (int j = i + 1; j < sortArray.Length; j++) if (getCompareMethod(sortArray[i], sortArray[j])) { object temp = sortArray[i]; sortArray[i] = sortArray[j]; sortArray[j] = temp; } } } class Employee { private string _Name; private decimal _Salary; /**/ /// <summary> /// 取得雇员的姓名 /// </summary> public string Name { get { return _Name; } set { _Name = value; } } /**/ /// <summary> /// 取得雇员的工资 /// </summary> public decimal Salary { get { return _Salary; } set { _Salary = value; } } /**/ /// <summary> /// 构造方法 /// </summary> /// <param name="name"></param> /// <param name="salary"></param> public Employee(string name, decimal salary) { this._Salary = salary; this._Name = name; } /**/ /// <summary> /// 重写了tostring()方法 /// </summary> /// <returns></returns> public override string ToString() { return string.Format(_Name + ",{0:C}", _Salary); } /**/ /// <summary> /// 比较两个对象的大小 /// </summary> /// <param name="lhs"></param> /// <param name="rhs"></param> /// <returns></returns> public static bool Compare(object lhs, object rhs) { Employee empLhs = (Employee)lhs; Employee empRhs = (Employee)rhs; return (empLhs._Salary > empRhs._Salary) ? true : false; } } }
相关文章推荐
- C# 学习教程 之 泛型类型参数的限制约束和代码实例
- C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义
- C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义
- C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义
- C#学习记录 运算符与类型的强制转换
- C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义
- C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义
- C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义
- C#学习记录1(数据类型,变量,表达式)
- C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义
- 懒羊学习《深入浅出设计模式》C#代码手札之状态模式与代理模式
- 编写高质量代码改善C#程序的157个建议[为类型输出格式化字符串、实现浅拷贝和深拷贝、用dynamic来优化反射]
- 编写高质量代码改善C#程序的157个建议[为类型输出格式化字符串、实现浅拷贝和深拷贝、用dynamic来优化反射]
- C#代码执行过程;值类型和引用类型;深拷贝和浅拷贝
- SQLServer\framework启动报异常:Module的类型初始值设定项引发异常 [转]QQ空间、新浪微博、腾讯微博等一键分享API链接代码 window下 mongodb快速安装 数据表查询所有子/父节点 C#学习笔记1
- STM32:STM32学习记录1:MDK基本数据类型及代码优化
- C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义
- C#实现int类型数组拷贝
- 编写高质量C#代码学习笔记(4)
- 《编写高质量代码改善C#程序的157个建议》学习