У меня есть список строк, который выглядит следующим образом (полностью несортированный):
[Title b] \t [text] \t complete
[Title a] \t [text] \t incomplete
[Title a] \t [text] \t complete
[Title c] \t [text] \t complete
...
Он должен быть отсортирован так, чтобы он выглядел либо так:
[Title a] \t [text] \t complete
[Title a] \t [text] \t incomplete
[Title b] \t [text] \t complete
[Title c] \t [text] \t complete
...
Или вот это (которое способ сортировки выбирается)
[Title a] \t [text] \t complete
[Title j] \t [text] \t complete
[Title s] \t [text] \t complete
...
[Title b] \t [text] \t incomplete
...
Мой подход ко всей этой сортировке довольно грязный и совсем не гладкий, а также решает только второй способ сортировки.
List<string> sortedTps = new List<string>();
List<string> completeTps = new List<string>();
List<string> incompleteTps = new List<string>();
List<string> errorTps = new List<string>();
foreach (string tp in tpByProduct)
{
if (tp.Contains("\t complete"))
{
completeTps.Add(tp);
}
else if (tp.Contains("\t incomplete"))
{
incompleteTps.Add(tp);
}
}
completeTps.Sort();
incompleteTps.Sort();
foreach(string tp in completeTps)
{
sortedTps.Add(tp);
}
foreach(string tp in incompleteTps)
{
sortedTps.Add(tp);
}
Надеюсь, вы, ребята, можете показать мне, как сделать это лучше и короче ^^