У меня есть массив строк, как это:пользовательского рода массив строк, не алфавитный
string[] names = new string[] { "john", "paul", "ringo", "george", "janis" };
Я хочу, чтобы отсортировать этот массив с помощью пользовательских критериев. Он не может быть алфавитным. Он может быть в таком порядке: pgrj
.
Я попытался реализовать новый IComparer
, но внутри метода Compare()
я не могу использовать string.Compare, потому что он сортирует по алфавиту, и я не хочу этого делать.
Вопрос: Как я могу отсортировать массив имен в следующем порядке: pgrj? В случае «j». Янис мог быть перед Джоном.
Спасибо.
Смотрите этот ответ http://stackoverflow.com/questions/6984457/linq-complex-sorting/6984509#6984509 – yoozer8
Является ли этот обычай порядок основывается исключительно на переупорядочить алфавит? Другими словами, если «Янис» приходит перед «Джоном», это потому, что «а» будет раньше «о», независимо от того, где он находится в слове? – StriplingWarrior
Есть несколько хороших советов в этих блогах Эрика Липперта при работе с пользовательской сортировкой: http://bit.ly/piH3eu – DaveShaw