У меня есть список строк.Каждая строка соответствует шаблону "{Path} \ UpdateTo {Version} - {Order}".
Мне нужно отсортировать список так, чтобы самые низкие номера версий были вверху.В случае, когда существует несколько файлов с одинаковым номером версии, добавляется необязательный параметр заказа.Если в какой-либо из строк присутствует порядок, он должен отображаться над строками с тем же номером версии, у которых нет номера заказа.
Например, приведите следующий список (обратите внимание, что элементы расположены в произвольном порядке.):
var files = new List<string>() {
@"C:\Migrations\UpdateTo1.2-2",
@"C:\Migrations\UpdateTo1.5-2",
@"C:\Migrations\UpdateTo1.2",
@"C:\Migrations\UpdateTo1.4",
@"C:\Migrations\UpdateTo1.1",
@"C:\Migrations\UpdateTo1.5",
@"C:\Migrations\UpdateTo1.2-1",
@"C:\Migrations\UpdateTo1.5-1"
};
Результат будет:
var files = new List<string>() {
@"C:\Migrations\UpdateTo1.1",
@"C:\Migrations\UpdateTo1.2-1",
@"C:\Migrations\UpdateTo1.2-2",
@"C:\Migrations\UpdateTo1.2",
@"C:\Migrations\UpdateTo1.4",
@"C:\Migrations\UpdateTo1.5-1",
@"C:\Migrations\UpdateTo1.5-2",
@"C:\Migrations\UpdateTo1.5"
}
Я пробовал всевозможные идеи, но до сих пор мои попытки были полным беспорядком.Буду признателен, если кто-нибудь сможет помочь.Спасибо