我有 arraylist,它有包含日期和一些字符串的列表项。我想根据日期对这个 Arraylist 进行排序。 我有以下用于 arraylist 项的伪代码。
ArrayList _arListDAte = new ArrayList();
//foreach loop for DAtatable rows
ListItem lstitem = new ListItem();
//here is condition for assigning text to lstitem
//if condition match
lstitem.Text = Today.Date() + ' - Allowed'
//else
lstitem.Text = Today.Date() + ' - Not allowed'
listitem.value = datarow[id]+'-M';
所以最后我的 Arraylist 包含以下数据
文本值
11-04-2013 - 允许 120-M
5-01-2013 - 允许 101-M
2-02-2013 - 允许 121-M
8-8-2012 - 不允许 126 海里
我想按日期升序排列这个数组列表。
最佳答案
定义一个自定义比较器:
public class DateComparer: IComparer {
int IComparer.Compare( Object x, Object y ) {
String a = (x as ListItem).Text;
String b = (y as ListItem).Text;
DateTime aDate = DateTime.Parse(a.split(null)[0]);
DateTime bDate = DateTime.Parse(b.split(null)[0]);
return DateTime.Compare(aDate, bDate);
}
}
在你的代码之后调用它:
IComparer comp = new DateComparer();
arListDAte.Sort(comp);
关于c# - 如何根据listitem对arraylist进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16006631/