IComparer的简单使用
来源:互联网 发布:手机linux升级安卓 编辑:程序博客网 时间:2024/04/29 09:52
/*******************************************************************
文件名: IComparer.cs
摘要: 用IComparer接口做排序的简单例子
开发平台: Win Xp SP2 + .NET Framework 2.0
编译环境: CSC.exe 8.0 (in Visual Studio 2005 SDK)
作者: 88250
完成日期: 2007-2-4 版本: 1.0
Blog: http://DL88250.ynutx.net
E-mail: DL88250@gmail.com
QQ: 845765 or 316281008
*******************************************************************/
using System;
using System.Collections;
namespace SEI.DL88250.SourceCodes.CSharp
{
public sealed class StringLengthComparer : IComparer
{
// 实现方法
public int Compare(object x, object y)
{
string xs = x as string;
string ys = y as string;
// 判断是否是string
// 当然,也可以这样判断:if ((!(x is string) || (!(y is string)))
if ((xs == null) || (ys == null))
{
throw new ArgumentException("some dire message");
}
// 按字串的长度降序
int retVal = 1;
if (xs.Length > ys.Length)
{
retVal = -1;
}
else
{
if (xs.Length == ys.Length)
{
retVal = 0;
}
}
return retVal;
}
}
public class ComparerTester
{
private static void Display(ArrayList str)
{
foreach (string s in str)
{
Console.WriteLine(s);
}
}
public static void Main(string[] args)
{
ArrayList stringList = new ArrayList();
stringList.Add("1");
stringList.Add("12");
stringList.Add("123");
stringList.Add("1234");
Display(stringList);
// 按字串的长度降序排序
stringList.Sort(new StringLengthComparer());
Display(stringList);
}
}
}
文件名: IComparer.cs
摘要: 用IComparer接口做排序的简单例子
开发平台: Win Xp SP2 + .NET Framework 2.0
编译环境: CSC.exe 8.0 (in Visual Studio 2005 SDK)
作者: 88250
完成日期: 2007-2-4 版本: 1.0
Blog: http://DL88250.ynutx.net
E-mail: DL88250@gmail.com
QQ: 845765 or 316281008
*******************************************************************/
using System;
using System.Collections;
namespace SEI.DL88250.SourceCodes.CSharp
{
public sealed class StringLengthComparer : IComparer
{
// 实现方法
public int Compare(object x, object y)
{
string xs = x as string;
string ys = y as string;
// 判断是否是string
// 当然,也可以这样判断:if ((!(x is string) || (!(y is string)))
if ((xs == null) || (ys == null))
{
throw new ArgumentException("some dire message");
}
// 按字串的长度降序
int retVal = 1;
if (xs.Length > ys.Length)
{
retVal = -1;
}
else
{
if (xs.Length == ys.Length)
{
retVal = 0;
}
}
return retVal;
}
}
public class ComparerTester
{
private static void Display(ArrayList str)
{
foreach (string s in str)
{
Console.WriteLine(s);
}
}
public static void Main(string[] args)
{
ArrayList stringList = new ArrayList();
stringList.Add("1");
stringList.Add("12");
stringList.Add("123");
stringList.Add("1234");
Display(stringList);
// 按字串的长度降序排序
stringList.Sort(new StringLengthComparer());
Display(stringList);
}
}
}
- IComparer的简单使用
- C#中IComparer的使用
- [泛型]-使用IComparer子类的Sort排序方法
- C# 使用IComparer自定义List类的排序方案
- C#中IComparable<T>和IComparer<T>接口的使用
- C# 使用IComparer自定义List类的排序方案
- ArrayList 的 IComparer排序
- IComparer<T>的运用
- [C#]简单重写IComparer接口,实现自己的String.CompareTo 方法,自定义比较规则。
- 实现 ArrayList 的 IComparer排序
- IComparer和IComparable的区别
- IComparer和IComparable的区别
- 泛型的3种排序方法之三:使用IComparer子类的Sort排序方法
- IComparable IComparer 比较器实例与使用
- 对IComparable,IComparer,IEnumerable,IEnumerator的理解
- C#中IComparable和IComparer的应用
- C#比较器接口IComparer的实现
- 如何使用 Visual C# 中和 IComparer IComparable 接口
- Testing my health.
- acegi参考手册(v1.0.4)
- .NET一些接口含义和应用
- 苛评VCL: 失望的TMenu
- 什么是软件外包?
- IComparer的简单使用
- 英语猛料!!!!
- 我=(放假==休息?堕落:学习);
- 修改系统Documents and Settings目录的位置
- Office 2003 主 Interop 程序集的安装和使用
- Log4Net使用指南
- 标准模版库
- JSP语法详解
- 一个瞬间