IComparable IComparer

IComparable<T>
对自定义类的对象排序

实现泛型集合中以类为元素时的sort排序功能

public int CompareTo(Student other)

        {

            return this.Name.CompareTo(other.Name);

        }

 

IComparer<T>
比较两个对象

实例化一下对象  Sort(T)    T为实例化对象,用以实现特殊排序方式


//姓名比较器

    public class NameComparer : IComparer<Student>

    {

 

        #region IComparer<Student> 成员

 

        public int Compare(Student x, Student y)

        {

            return (x.Name.CompareTo(y.Name));

        }

 

        #endregion

    }

 

    //姓名比较器降序

    public class NameComparerDesc : IComparer<Student>

    {

 

        #region IComparer<Student> 成员

 

        public int Compare(Student x, Student y)

        {

            return (y.Name.CompareTo(x.Name));

        }

 

        #endregion

    }

 

    //年龄比较器

    public class AgeComparer : IComparer<Student>

    {

 

        #region IComparer<Student> 成员

 

        public int Compare(Student x, Student y)

        {

            return (x.Age.CompareTo(y.Age));

        }

 

        #endregion

    }

}

 

posted @ 2008-10-18 21:02  Edward Xie  阅读(163)  评论(0编辑  收藏  举报