C# 如何更改Globalization.SortKey的排序顺序?
我有两个字符,我正试图用全球化来比较。SortKey和刚开箱即用,它几乎完全按照我希望的方式排序,“a”是第一个,“z”是最后一个(然后是特殊字符。一个问题是它在“a”之后有“Aa”,是否有办法改变顺序,使大写字母放在每个字母的顶部而不是底部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
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接口来编写自己的比较器,有关更多信息和示例,请参见此