更新:2007 年 11 月
根据字符串的比较结果返回 -1、0 或 1。
Public Shared Function StrComp( _
   ByVal String1 As String, _
   ByVal String2 As String, _
   <Microsoft.VisualBasic.OptionCompareAttribute> _
   Optional ByVal Compare As Microsoft.VisualBasic.CompareMethod _
) As Integer
参数
- String1 
 必需。任何有效的 String 表达式。
- String2 
 必需。任何有效的 String 表达式。
- Compare 
 可选。指定字符串比较的类型。如果省略 Compare,则由 Option Compare 设置确定比较类型。
设置
Compare 参数设置包括:
| 常数 | 说明 | 
|---|---|
| Binary | 根据从字符的内部二进制表示形式导出的排序顺序执行二进制比较。 | 
| Text | 根据您应用程序的当前区域性信息所确定的不区分大小写的文本排序顺序执行文本比较。 | 
返回值
StrComp 函数具有下列返回值:
| 如果 | StrComp 返回 | 
|---|---|
| String1 排在以下表达式前面: String2 | -1 | 
| String1 等于 String2 | 0 | 
| String1 排在以下字符串后面: String2 | 1 | 
异常
| 异常类型 | 错误号 | 条件 | 
|---|---|---|
| Compare 值无效。 | 
如果正在升级使用非结构化错误处理方式的 Visual Basic 6.0 应用程序,请参见“错误号”一列。(您可以根据 Number 属性(Err 对象) 比较错误号。) 然而,如果可能,应当考虑用 Visual Basic 的结构化异常处理概述 替换这种错误控制。
备注
从第一个字符开始按照字母数字排序值对字符串进行比较。有关二进制比较、文本比较和排序顺序的详细信息,请参见 Option Compare 语句。
| .gif) 安全说明: | 
|---|
| 如果应用程序根据比较或大小写转换运算的结果制定安全决策,则运算应使用 String.Compare 方法,并为 comparisonType 参数传递 Ordinal 或 OrdinalIgnoreCase。有关更多信息,请参见区域性对字符串的影响 (Visual Basic)。 | 
示例
本例使用 StrComp 函数返回字符串的比较结果。如果省略第三个参数,则将执行在 Option Compare 语句或项目默认设置中定义的比较类型。
' Defines variables.
Dim TestStr1 As String = "ABCD"
Dim TestStr2 As String = "abcd"
Dim TestComp As Integer
' The two strings sort equally. Returns 0.
TestComp = StrComp(TestStr1, TestStr2, CompareMethod.Text)
' TestStr1 sorts after TestStr2. Returns -1.
TestComp = StrComp(TestStr1, TestStr2, CompareMethod.Binary)
' TestStr2 sorts before TestStr1. Returns 1.
TestComp = StrComp(TestStr2, TestStr1)
要求
**模块:**Strings
**程序集:**Visual Basic 运行库(在 Microsoft.VisualBasic.dll 中)