У меня есть список, который состоит из следующих элементов
<1, 2-3, 4-5, >6
, когда я сортирую его, я получаю
<1,>6,2-3,4-5
, но хотел бы получить его в правильном порядке.
Я кодировал это, которое работает правильно, однако я нахожу его чрезвычайно многословным и хотел бы сократить его до 2,3 строк кода
_data.Sort(delegate(SourceEntity a1, SourceEntity a2)
{
if (a1.Dimension1.StartsWith("<") && a2.Dimension1.StartsWith("<")) return 0;
else if (a1.Dimension1.StartsWith(">") && a2.Dimension1.StartsWith(">")) return 0;
else if (a1.Dimension1.StartsWith("<") && a2.Dimension1.StartsWith(">")) return -1;
else if (a1.Dimension1.StartsWith(">") && a2.Dimension1.StartsWith("<")) return 1;
else if (a1.Dimension1.StartsWith("<")) return -1;
else if (a1.Dimension1.StartsWith(">")) return 1;
else if (a2.Dimension1.StartsWith("<")) return 1;
else if (a2.Dimension1.StartsWith(">")) return -1;
else return a1.Dimension1.CompareTo(a2.Dimension1);
});
SourceEntity содержит свойство под названием Dimension1, котороесодержит значение, которое я пытаюсь отсортировать.