Option Compare 语句

声明比较字符串数据时要使用的默认比较方法。

语法

Option Compare { Binary | Text }  

部件

术语 定义
Binary 可选。 基于派生自字符的内部二进制表示形式的排序顺序进行字符串比较。

这种类型的比较非常有用,尤其是在字符串可以包含不解释为文本的字符时。 在这种情况下,你不希望与字母等效性(如不区分大小写)进行偏差比较。
Text 可选。 根据系统的区域设置确定的不区分大小写的文本排序顺序,生成字符串比较。

如果你的字符串包含所有文本字符,并且你希望比较这些字符,并考虑到字母等价(如不区分大小写和密切相关的字母),则此类型的比较非常有用。 例如,你可能希望考虑Aa相等,以及Ää之前和之前B和之前。b

注解

如果使用,该 Option Compare 语句必须在任何其他源代码语句之前显示在文件中。

Option Compare 语句指定字符串比较方法(BinaryText)。 默认文本比较方法为 Binary

比较 Binary 每个字符串中每个字符的数字 Unicode 值。 比较 Text 根据当前区域性中的词法含义比较每个 Unicode 字符。

在 Microsoft Windows 中,排序顺序由代码页确定。 有关详细信息,请参阅 代码页

在下面的示例中,使用 Option Compare Binary英语/欧洲代码页(ANSI 1252)中的字符进行排序,这将生成典型的二进制排序顺序。

A < B < E < Z < a < b < e < z < À < Ê < Ø < à < ê < ø

使用相同的代码页中的相同字符进行排序 Option Compare Text时,将生成以下文本排序顺序。

(A=a) < (À = à) < (B=b) < (E=e) < (Ê = ê) < (Z=z) < (Ø = ø)

选项比较语句不存在时

如果源代码不包含Option Compare语句,则使用“编译”页上的“选项比较”设置(Visual Basic)。 如果使用命令行编译器,将使用 -optioncompare 编译器选项指定的设置。

注释

计算机可能会在以下说明中显示某些 Visual Studio 用户界面元素的不同名称或位置。 你拥有的 Visual Studio 版本以及所使用的设置决定了这些元素。 有关更多信息,请参阅 自定义 IDE

在 IDE 中设置 Option Compare

  1. 在解决方案资源管理器 中,选择一个项目。 在“项目”菜单上,单击“属性” 。

  2. 单击“编译”选项卡。

  3. “选项比较 ”框中设置值。

创建项目时,“编译”选项卡上的“选项比较”设置将设置为“选项比较”对话框中的选项比较设置。 若要更改此设置,请在 “工具” 菜单上单击“ 选项”。 在 选项 对话框中,展开 项目和解决方案,然后单击 VB 默认值VB 默认值中的初始默认设置为二进制

在命令行上设置 Option Compare

示例 1

以下示例使用 Option Compare 语句将二进制比较设置为默认字符串比较方法。 若要使用此代码,请取消注释 Option Compare Binary 语句,并将其放在源文件的顶部。

' Option Compare Binary

Console.WriteLine("A" < "a")
' Output: True

示例 2

以下示例使用 Option Compare 语句将不区分大小写的文本排序顺序设置为默认字符串比较方法。 若要使用此代码,请取消注释 Option Compare Text 语句,并将其放在源文件的顶部。

' Option Compare Text

Console.WriteLine("A" = "a")
' Output: True

另请参阅