5

我希望有人可以为我阐明这一点:在 Delphi 2009 中,CompareStr(在 SysUtils 中定义)和CompareString(来自 Windows API)函数之间有什么区别?

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

4

1 回答 1

6

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

CompareStr('', loInvariantLocale) 只是对字符串中的字符进行逐字节比较。CompareStr('', loUserLocale) 在内部调用 CompareString,因此它们是相同的,除了 CompareString 可以接受的附加标志。它也是内联的,所以你不应该看到它和直接调用 CompareString 之间的任何速度差异。

于 2010-03-19T00:40:52.620 回答