String.CompareTo如何工作?

Kev*_*yon 2 c# string compare

当我比较包含正数/负数的字符串时,例如:

int res1 = "-1".CompareTo("1");
int res2 = "-1".CompareTo("2");
Run Code Online (Sandbox Code Playgroud)

res1等于1.
res2等于-1.

String.CompareTo如何工作?这意味着订单是"2 -1 1"......

Bry*_*ard 8

来自MSDN:

某些非字母数字字符可能会分配特殊权重.例如,连字符(" - ")可能具有非常小的权重,因此"coop"和"co-op"在排序列表中彼此相邻.

编辑:忘记提及,这与使用的CompareOptions枚举有关string.Compare.