我有一个字符串数组是这样的:自定义排序字符串数组非字母
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
纯粹是基于这个自定义为了这可能是一个有点复杂重新排列字母表?换句话说,如果“贾尼斯”来到“约翰”之前,那是因为“a”会在“o”之前出现,而不管它在这个词的哪个位置? – StriplingWarrior
在处理自定义排序时,Eric Lippert在这些博客文章中提供了一些很好的提示:http://bit.ly/piH3eu – DaveShaw