一个很奇怪的TStringList字符串排序问题(100分)

  • 主题发起人 主题发起人 valatine
  • 开始时间 开始时间
V

valatine

Unregistered / Unconfirmed
GUEST, unregistred user!
下面字符串
"-","0","1","2005-1-1","2005-10-1" 是按从小到大顺序排列,但是在TStringList中排列
顺序却是"-","0","1",","2005-10-1"","2005-1-1",真是弄不懂
 
这个不是Delphi的缺陷,呵呵。
您可以看一下,如下两个函数的返回值:
Strcomp('-0','0') 返回负值, 即 -0 < 0
AnsiCompareStr('-0','0') 返回正值,即 -0 > 0
StringList的排序函数调用的是AnsiCompareStr,所以有您发现的结果。
您也可以看一下上述两个函数的帮助。
 
多人接受答案了。
 
后退
顶部