C# 如何更改Globalization.SortKey的排序顺序?

C# 如何更改Globalization.SortKey的排序顺序?,c#,C#,我有两个字符,我正试图用全球化来比较。SortKey和刚开箱即用,它几乎完全按照我希望的方式排序,“a”是第一个,“z”是最后一个(然后是特殊字符。一个问题是它在“a”之后有“Aa”,是否有办法改变顺序,使大写字母放在每个字母的顶部而不是底部 public static bool ShouldSecondComeFirst( string first, string second ){ CompareInfo = new CultureInfo( "en-US", false ).Com

我有两个字符,我正试图用全球化来比较。SortKey和刚开箱即用,它几乎完全按照我希望的方式排序,“a”是第一个,“z”是最后一个(然后是特殊字符。一个问题是它在“a”之后有“Aa”,是否有办法改变顺序,使大写字母放在每个字母的顶部而不是底部

public static bool ShouldSecondComeFirst( string first, string second ){
    CompareInfo = new CultureInfo( "en-US", false ).CompareInfo;
    SortKey sortF = compInfo.GetSortKey( f );
    SortKey sortS = compInfo.GetSortKey( s );
    if( SortKey.Compare( sortF, sortS) == 1 )
        return true;
    return false;
}
列表输出如下所示

a.txt
Aa.txt
b.txt
Z.txt
但我需要它

Aa.txt
a.txt
b.txt
Z.txt

你为什么不看看这里:@DanielA.White这些答案对于排序列表中的数字部分似乎非常有用,但我的问题更多的是在字母方面。你可以通过实现IComparer接口来编写自己的比较器,查看此以获取更多信息和示例。你为什么不看看这里:@DanielA.White这些答案似乎很有用对于排序列表中的数字部分非常有用,但我的问题更多的是字母方面。您可以通过实现IComparer接口来编写自己的比较器,有关更多信息和示例,请参见此