c#中比较器的创建
来源:互联网 发布:蛋疼 知乎 编辑:程序博客网 时间:2024/05/23 23:38
其中,类需要集成 IComparable接口 。
类内部需要实现 IComparable.CompareTo 方法。
需要实现 IComparer.Compare(object obj1, object obj2) 方法
public class student : IComparable
{
public int stuID { get; set; }
public string stuName { get; set; }
public car car1 { get; set; }
public student(int id, string name, car tmp)
{
stuID = id;
stuName = name;
car1 = tmp;
}
//实现比较器
int IComparable.CompareTo(object o)
{
student tmp = (student)o;
return string.Compare(stuName, tmp.stuName);
}
private class IDComparaterHelper : IComparer
{
int IComparer.Compare(object obj1, object obj2)
{
student s1 = (student)obj1;
student s2 = (student)obj2;
if (s1.stuID > s2.stuID)
{
return 1;
}
else if (s1.stuID == s2.stuID)
{
return 0;
}
else
{
return -1;
}
}
}
public static IComparer ImplIDCompare()
{
return (IComparer)new IDComparaterHelper();
}
}
- c#中比较器的创建
- C#中字符串的比较
- C#中类的创建
- C#中类和结构的比较
- C#中比较两个时间的时间差
- C#中Thread与ThreadPool的比较
- C#中比较字符串的方法
- c# ListView中比较重要的属性
- C#中各种数组的性能比较
- C++和C#中数组的比较
- C#中属性和字段的比较
- C#中索引跟数组的比较
- C#中时间大小的比较方法
- C#中比较字符串的方法
- C#中字符串的比较操作
- C#中创建播放器
- Java和C#中String直接赋值与使用new创建(==与equals进行比较)的区别
- C#中时间比较
- ZOJ 3765 Lights
- 网站链接
- Android use '@foo' to launch a virtual device named
- Media Foundation学习笔记(七)Media Foundation的架构 Source Reader
- 获取Linux主机信息的5个命令
- c#中比较器的创建
- oracle 创建函数/程序包
- rmmod: can't change directory to '/lib/modules': No such file or directory问题解决
- php获取文件文档大小函数
- [Python] How to use Pyramid?
- ZOJ 3762 Pan's Labyrinth
- How to run OpenMP on Linux?
- CodeSmith : Merge策略
- 随笔散文:孩子娇气可以多参加锻炼