Linq должен помочь здесь;
// using System.Linq;
ConfigLists = ConfigLists.OrderBy(x => x.Name).ToList();
... который, конечно, может быть использован для сортировки по подстроке ...
// Skips "Week ";
// using System.Linq;
ConfigLists = ConfigLists.OrderBy(x => x.Name.Substring(5)).ToList();
Если у вас более сложная сортировкаДля того, чтобы упорядочить или захотеть избежать временных строк в вашей сортировке, вы можете вместо этого использовать IComparer, чтобы выполнить сортировку для вас;
class WeekComparer : IComparer<Config>
{
public int Compare(Config x, Config y)
{
return string.Compare(x.Name, 5, y.Name, 5, int.MaxValue);
}
}
// using System.Linq;
var weekComparer = new WeekComparer();
ConfigLists = ConfigLists.OrderBy(x => x, weekComparer).ToList();
IComparer также работает с "простой старой" сортировкой, если вы этого не сделаетекак синтаксис Линка.
var weekComparer = new WeekComparer();
ConfigLists.Sort(weekComparer);