Delphi - CompareStr和CompareString之间的差异

Bou*_*gui 5 delphi string-comparison

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

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

Zoë*_*son 6

CompareString使用区域设置信息,因此ae和æ之类的东西被视为匹配,并且排序适用于地理区域.

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