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 中,排序顺序取决于代码页。 有关详细信息,请参阅代码页。
在下例中,使用 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 语句不存在时
如果源代码不包含 Option Compare
语句,则使用项目设计器 (Visual Basic) 的编译页上的 Option Compare 设置。 如果使用命令行编译器,则使用 -optioncompare 编译器指定的设置。
注意
以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。 有关详细信息,请参阅个性化设置 IDE。
若要在 IDE 中设置 Option Compare
在“解决方案资源管理器”中,选择一个项目。 在“项目”菜单上,单击“属性” 。
单击“编译” 选项卡。
设置“Option Compare”框中的值。
创建新项目时,将“编译”选项卡上的“Option Compare”设置设为“选项”对话框中的“Option Compare”设置。 若要更改此设置,请在“工具”菜单上,单击“选项”。 在“选项”对话框中,展开“项目和解决方案”,然后单击“VB 默认值”。 “VB 默认值”中的初始默认设置为“二进制”。
若要设置命令行上的 Option Compare
- 在 vbc 命令中包含 -optioncompare 编译器选项。
示例 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