我希望有人能为我提供一些启示:
在Delphi 2009中,CompareStr(在SysUtils中定义)和CompareString(从Windows API)之间有什么区别?

两者都允许您指定要使用的语言环境,由于可用的比较标志,Windows是否只是一个“更完整”的窗口?因此,一个比另一个更快吗?

最佳答案

CompareString使用语言环境信息,以便将ae和æ之类的内容视为匹配项,并且排序适用于该地理区域。

CompareStr('',loInvariantLocale)只是字符串中字符的逐字节比较。 CompareStr('',loUserLocale)在内部调用CompareString,因此它们是相同的,除了CompareString可以接受的其他标志之外。它也是内联的,因此您与直接调用CompareString的速度之间不应有任何区别。

10-06 08:47