我有一个列表:“a_a”、“a1a”、“aaa”。
我需要按以下方式对其进行排序:“a1a”、“a_a”、“aaa”。
换句话说,我需要'_'符号出现在数字之后但在字母之前。
我知道可以使用自定义比较器,但我还没有找到任何好的解决方案来解决这个问题,只有肮脏的黑客,例如:
Compare(string x, string y){
return Comparer.Default.Compare(x.Replace("_", "9z"), y.Replace("_", "9z"));
}