ArrayList SortItems = new ArrayList();
SortItems.Add("Item1");
SortItems.Add("Item2");
SortItems.Add("Item3");
SortItems.Add("Item4");
SortItems.Add("Item5");
SortItems.Add("Item6");
SortItems.Add("Item7");
SortItems.Add("Item8");
SortItems.Add("Item9");
SortItems.Add("Item10");
SortItems.Add("Item11");
SortItems.Sort();
如果我运行此程序,我将得到以下结果
但我想对列表进行排序,例如Item1,Item2,Item3,Item4,Item5,Item6,Item7,Item8,Item9,Item10,Item11
最佳答案
构建自定义比较器:
public class CusComparer: IComparer
{
public int Compare(object x, object y)
{
return int.Parse((x as string).Substring(4)) - int.Parse((y as string).Substring(4));
}
}
因此,您可以使用:
ArrayList SortItems = new ArrayList();
SortItems.Add("Item1");
SortItems.Add("Item2");
SortItems.Add("Item3");
SortItems.Add("Item4");
SortItems.Add("Item5");
SortItems.Add("Item6");
SortItems.Add("Item7");
SortItems.Add("Item8");
SortItems.Add("Item9");
SortItems.Add("Item10");
SortItems.Add("Item11");
SortItems.Sort(new CusComparer());
但是,您应该考虑使用类型更强的
ArrayList
而不是使用List<T>
关于c# - 如何在wpf中按后续编号对数组列表进行排序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13135777/