在MFC与C#中对字符串进行排序

时间:2015-11-04 16:28:09

标签: c# c++ .net sorting mfc

我有一个使用C#和本机C ++(MFC)的遗留应用程序。我需要对两边的字符串进行排序,以便它们处于相同的顺序。问题是在.NET端使用string.Compare它以“特定于文化”的方式出现,例如,“A_B”在“A11”之前排序,而在MFC中,使用operator < ,“A11”在“A_B”之前排序。

我知道我可以改变.NET端使用Ordinal排序,但这可能会打破一些外语排序。我想要的是更改MFC排序,以便它以“特定于文化”的方式排序,如.NET端。我在Win32 API中找到了CompareStringEx,但我想知道是否有一个MFC解决方案,或者我缺少的其他东西。

提前致谢。

1 个答案:

答案 0 :(得分:1)

MFC的CString类具有CollateCollateNoCase用于特定于语言环境的比较。我没有对它们进行测试以确保它们符合.NET的整理顺序,但我期望两者都使用相同的Win32函数,在这种情况下它们显然匹配。