Это немного хакерский ответ, но я надеюсь, что это поможет. Предполагая, что у вас есть строки в отсортированном списке, у меня есть метод «быстро и грязно», который генерирует следующий элемент в алфавитном порядке:
var items = new System.Collections.Generic.SortedList<string, string>();
items.Add("01", "01");
items.Add("02a", "02a");
items.Add("test", "test");
var nextItem = items.Last().Key;
int pos = nextItem.Length - 1;
while (pos >= 0)
{
if ((nextItem[pos] != 'z') && (nextItem[pos] != 'Z'))
{
nextItem = nextItem.Substring(0, pos - 1) + Convert.ToChar(Convert.ToInt32(nextItem[pos]) + 1) + nextItem.Substring(pos + 1);
break;
}
pos--;
}
if (pos == -1)
{
nextItem += "a";
}