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

标签 c# c++ .net sorting mfc

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

我知道我可以更改 .NET 端以使用序数排序,但这可能会破坏某些外语排序。我想要的是更改 MFC 排序,以便它以“特定于文化”的方式排序,就像 .NET 端一样。我找到了 CompareStringEx在 Win32 API 中,但我想知道是否有 MFC 解决方案来解决这个问题或我遗漏的其他问题。

提前致谢。

最佳答案

MFC 的 CString 类有 CollateCollat​​eNoCase 用于特定于语言环境的比较。我没有测试它们以确保它们匹配 .NET 排序顺序,但我期望两者使用相同的 Win32 函数,在这种情况下它们显然匹配。

关于c# - 在 MFC 与 C# 中对字符串进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33527024/

相关文章:

c# - 有没有一种快速的方法来获得两个实体之间的每一个关联?

c# - Xamarin Android - GetApplication

c# - WPF DataGrid 动态列绑定(bind)

c# - 如何计算datagridview中的行并将重复行视为单个行?

c++ - STLpriority_queue实例化的疑问

c++ - C++ : "expected primary-expression before ‘>’ token"中的两个模板

c# - 错误: expected class,delegate,enum,interface or struct

c++ - 四舍五入到 C 中的次奇数或偶数整数

c# - 如何在C#中合并两个XmlDocuments

.net - Blend 打开时没有语言和版本