说明:有时我们使用List<>存储类或结构等类型,如何实现其按照类中的某一字段进行排序呢,在这以一个例子说明。
有一类:
public class HorizontalBO
{
// 日期
public string ExamDate = string.Empty;
// 路径 public string FileIconPath = string.Empty;
public List<ExamEvent> lstEventInfo = new List<ExamEvent>();
public List<ExamPurpose> lstExamPurpose = new List<ExamPurpose>();
}
有一List:
List<HorizontalBO> o_List= new List<HorizontalBO>();
o_List.add() ....... // 想list中添加数据,就不详细写出了
// 排序处理
a.先定义一个Comparison
Comparison<HorizontalBO> comparision = new Comparison<HorizontalBO>(this.CompareRule);
b.定义排序的规则,即this.CompareRule
private int CompareRule(HorizontalBO BOLeft, HorizontalBO BORight)
{
string DateLeft;
string DateRight;
int nResult = 0;
DateLeft = BOLeft.ExamDate;
DateRight = BORight.ExamDate;
nResult = String.Compare(DateLeft, DateRight);
return nResult; // nResult>0: BOLeft> BORight , nResult=0: BOLeft= BORight ,nResult<0: BOLeft< BORight
}
c.对List排序:
lstHorizontalBO.Sort(comparision);
d.即可得到按日期进行排序后的list。