# StrCompare

按字母顺序比较两个字符串.

    Result := StrCompare(String1, String2 , CaseSense)

## 参数

String1, String2

  类型: 字符串

  要比较的字符串.

CaseSense

  类型: 整数或字符串

  下列值之一(如果省略, 默认为 0):

  `"On"` 或 `1`(`True`): 比较是区分大小写的.

  `"Off"` 或 `0`(`False`): 字母 A-Z 被视为与其小写字母相同.

  `"Locale"`: 根据当前用户的区域设置规则, 比较是不区分大小写的. 例如, 在大多数英语及西欧地区, 不仅将 A-Z 视为等同于它们的小写形式, 同时也将非-ASCII 字母(如 Ä 和 Ü) 视为等同的. 根据被比较字符串的性质, Locale 比 Off 慢 1 到 8 倍.

  `"Logical"`: 类似 Locale, 但字符串中的数字被视为数字内容, 而不是文本. 例如, "A2" 被认为小于 "A10". 然而, 如果两个数字仅因前导零的存在而不同, 则前导零的字符串可能被视为 小于 另一个字符串. 确切的行为可能会在不同的操作系统版本中有所不同.

## 返回值

类型: 整数

指示 String1 和 String2 之间的关系, 该函数返回以下内容之一:

- 0, 如果 String1 等于 String2
- 正整数, 如果 String1 大于 String2
- 负整数, 如果 String1 小于 String2

要检查两个字符串之间的特定关系, 请将结果与 0 进行比较. 例如:

    a_less_than_b := StrCompare(a, b) < 0
    a_greater_than_or_equal_to_b := StrCompare(a, b) >= 0

## 备注

此函数通常用于 sort 回调.

## 相关

Sort, VerCompare

## 示例

展示不区分大小写和区分大小写比较的区别.

    MsgBox StrCompare("Abc", "abc") ; 返回 0
    MsgBox StrCompare("Abc", "abc", true) ; 返回 -1

dftg