c# ArrayList 的 Sort()方法的使用
来源:互联网 发布:js 自定义window方法 编辑:程序博客网 时间:2024/06/08 19:27
关键字:ArrayList ,IComparer,接口,C#
我看见网上有人问IComparer接口的使用,于是写了个小例子,和大家一块分享。有不足之处,望不吝指正
1、建一个结构雇员的结构
?private struct Eployee{
???public string? name;
???public int age;
???public string sex;
??}
2、新建3个"雇员"
?Eployee ep1=new Eployee();
??ep1.name="小张";
??ep1.age=21;
??ep1.sex="男";
?Eployee ep2=new Eployee();
??ep2.name="老李";
??ep2.age=43;
??ep2.sex="男";
?Eployee ep3=new Eployee();
??ep3.name="施施";
??ep3.age=18;
??ep3.sex="男";
3、将3个"雇员" 加入"雇员列表";
?
?ArrayList EmployeeList=new ArrayList();
??EmployeeList.Add(ep1);
??EmployeeList.Add(ep2);
??EmployeeList.Add(ep3);
好了一切准备就绪,现在希望EmployeeList中得"雇员"是按年龄排序的。
咋办呢?
其实很简单,我们没必要自己去实现某个排序方法,冒泡或其他什么的。ArrayList 提供了我们现成的排序方法Sort();
它有三个重载,不管使用哪一个,至少要你提供一个Comparer:IComparer;来告诉Sort方法 你对"雇员"们的排序依据。
这个Comparer必须实现接口:System.Collections.IComparer ,该接口只有一个成员函数需要你去实现。
?描述如下:
?[Visual Basic]
Function Compare( _
?? ByVal x As Object, _
?? ByVal y As Object _
) As Integer
[C#]
int Compare(
?? object x,
?? object y
);
[C++]
int Compare(
?? Object* x,
?? Object* y
);
[JScript]
function Compare(
?? x : Object,
?? y : Object
) : int;
(可以去参考msdn)
知道了这些那我们来实现一个吧
private class myEmployeeCompare:System.Collections.IComparer {
???public int Compare(object x,object y){
????return ((Eployee)x).age-((Eployee)y).age;
???}
???
??}
因为我们比较的是“雇员”的age,所以我们可以放心的写实现语句
?return ((Eployee)x).age-((Eployee)y).age;
?myEmployeeCompare EmployeeCompare=new myEmployeeCompare();
?
ok现在我们可以对"雇员"们按年龄排序了
?
?EmployeeList.Sort(EmployeeCompare);
#结束
本人第二次写作,望各位多多支持!
以上代码只是一个粗略的演示。
希望能和大家多多讨论dotNet方面的技术。
QQ:14754875
论坛:http://www.shixm.com/bbs
- c# ArrayList 的 Sort()方法的使用
- c# ArrayList 的 Sort()方法的使用
- c# ArrayList 的 Sort()方法的使用
- c# ArrayList 的 Sort()方法的使用
- c# ArrayList 的 Sort()方法的使用
- Arraylist的sort方法使用
- C# ArrayList 的Sort函数使用
- c# 学习笔记 ArrayList的Sort方法的实现
- C# Arraylist的sort函数的用法
- C# ArrayList的使用
- 使用 C# 的 ArrayList
- C# ArrayList的使用
- C# ArrayList的使用
- 使用 C# 的 ArrayList
- 使用 C# 的 ArrayList
- C# ArrayList 的使用
- C# 中 ArrayList的使用
- C#中arraylist的使用
- 再论win2000平台下apache/tomcat/php/mysql(phpmyadmin)的整合
- 五脏六腑
- PHPer:让我们拥抱敏捷吧
- 蛙蛙推荐:用正则表达式搜索电子邮件
- “你言我语”论坛·以开源方式翻译IT图书
- c# ArrayList 的 Sort()方法的使用
- 公平的席位分配数学模型 程序实现
- 商人过河数学模型求源程序
- 团队开发中,如何处理一个站点不同Web应用通用Session
- .Net环境下的缓存技术介绍
- 修改Datagrid,在列上绑定其他控件。
- 把网友的RSA加密代码转换到C#
- SQL注入之"全暴"
- 7月28号签到表