-
Option Compare 语句
声明要在比较字符串数据时使用的默认比较方法。
Option Compare { Binary | Text }
部件
术语 |
定义 |
Binary |
可选。 导致基于从字符的内部二进制表示形式导出的排序顺序进行字符串比较。 如果字符串可以包含不解释为文本的字符,则此类型的比较尤其有用。 在这种情况下,不希望使用对等字母(例如不区分大小写)使比较偏向一方。 |
Text |
可选。 导致基于由系统的区域设置确定的不区分大小写的文本排序顺序进行字符串比较。 如果字符串所含的全是文本字符,而您希望在比较它们时要考虑对等字母,例如不区分大小写和紧密相关的字母,则此类型的比较很有用。 例如,也许您要将 A 和 a 视为对等,而且将 Ä 和 ä 放在 B 和 b 的前面。 |
备注
如果使用 Option Compare 语句,则它必须在文件中出现在任何其他源代码语句之前。
Option Compare 语句指定字符串的比较方法 (Binary 或 Text)。 默认文本比较方法为 Binary。
一个 Binary 比较,它比较每个字符串中每个字符的 Unicode 数值。 一个 Text 比较,它基于每个 Unicode 字符在当前区域性中的词义对其进行比较。
在 Microsoft Windows 中,排序顺序由代码页确定。 有关更多信息,请参见 Code Pages。
在下面的示例中,“英语/欧洲”代码页 (ANSI 1252) 中的字符是使用 Option Compare Binary 排序的,这将产生一个典型的二进制排序顺序。
A < B < E < Z < a < b < e < z < À < Ê < Ø < à < ê < ø
在使用 Option Compare Text 对相同代码页中的相同字符进行排序时,将产生以下文本排序顺序。
(A=a) < (À = à) < (B=b) < (E=e) < (Ê = ê) < (Z=z) < (Ø = ø)
当 Option Compare 语句不存在时
如果源代码中不包含 Option Compare 语句,则使用 “项目设计器”->“编译”页 (Visual Basic) 上的Option Compare设置。 如果使用命令行编译器,则设置由 /optioncompare 指定。
提示
对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您所使用的 Visual Studio 版本和您所使用的设置。有关更多信息,请参见 Visual Studio 设置。
在 IDE 中设置 Option Compare
-
在**“解决方案资源管理器”中选择一个项目。 在“项目”菜单上,单击“属性”**。 有关更多信息,请参见 项目设计器介绍。
-
单击**“编译”**选项卡。
-
设置**“比较选项”**框中的值。
创建项目时,“编译”选项卡上的“选项比较”设置将在“选项”对话框中设置为“选项比较”设置。 要更改此设置,请在“工具”菜单上单击“选项”。 在“选项”对话框中展开“项目和解决方案”,然后单击**“VB 默认值”**。 **“VB 默认值”**中的初始默认值设置为 “二进制”。
在命令行中设置“Option Compare”
- 将 /optioncompare 编译器选项包括在 vbc 命令中。
示例
下面的示例使用 Option Compare 语句将二进制比较设置为默认字符串比较方法。 若要使用此代码,请取消注释 Option Compare Binary 语句,并把它放在源文件的顶部。
' Set the string comparison method to Binary ("AAA" < "aaa").
Option Compare Binary
下面的示例使用 Option Compare 语句将区分大小写的文本排序顺序设置为默认字符串比较方法。 若要使用此代码,请取消注释 Option Compare Text 语句,并把它放在源文件的顶部。
' Set the string comparison method to Text ("AAA" = "aaa").
Option Compare Text