Option Compare Statement
Declares the default comparison method to use when comparing string data.
Syntax
Option Compare { Binary | Text }
Parts
Term | Definition |
---|---|
Binary |
Optional. Results in string comparisons based on a sort order derived from the internal binary representations of the characters. This type of comparison is useful especially if the strings can contain characters that are not to be interpreted as text. In this case, you do not want to bias comparisons with alphabetical equivalences, such as case insensitivity. |
Text |
Optional. Results in string comparisons based on a case-insensitive text sort order determined by your system's locale. This type of comparison is useful if your strings contain all text characters, and you want to compare them taking into account alphabetic equivalences such as case insensitivity and closely related letters. For example, you might want to consider A and a to be equal, and Ä and ä to come before B and b . |
Remarks
If used, the Option Compare
statement must appear in a file before any other source code statements.
The Option Compare
statement specifies the string comparison method (Binary
or Text
). The default text comparison method is Binary
.
A Binary
comparison compares the numeric Unicode value of each character in each string. A Text
comparison compares each Unicode character based on its lexical meaning in the current culture.
In Microsoft Windows, sort order is determined by the code page. For more information, see Code Pages.
In the following example, characters in the English/European code page (ANSI 1252) are sorted by using Option Compare Binary
, which produces a typical binary sort order.
A < B < E < Z < a < b < e < z < À < Ê < Ø < à < ê < ø
When the same characters in the same code page are sorted by using Option Compare Text
, the following text sort order is produced.
(A=a) < (À = à) < (B=b) < (E=e) < (Ê = ê) < (Z=z) < (Ø = ø)
When an Option Compare Statement Is Not Present
If the source code does not contain an Option Compare
statement, the Option Compare setting on the Compile Page, Project Designer (Visual Basic) is used. If you use the command-line compiler, the setting specified by the -optioncompare compiler option is used.
Note
Your computer might show different names or locations for some of the Visual Studio user interface elements in the following instructions. The Visual Studio edition that you have and the settings that you use determine these elements. For more information, see Personalizing the IDE.
To set Option Compare in the IDE
In Solution Explorer, select a project. On the Project menu, click Properties.
Click the Compile tab.
Set the value in the Option Compare box.
When you create a project, the Option Compare setting on the Compile tab is set to the Option Compare setting in the Options dialog box. To change this setting, on the Tools menu, click Options. In the Options dialog box, expand Projects and Solutions, and then click VB Defaults. The initial default setting in VB Defaults is Binary.
To set Option Compare on the command line
- Include the -optioncompare compiler option in the vbc command.
Example 1
The following example uses the Option Compare
statement to set the binary comparison as the default string comparison method. To use this code, uncomment the Option Compare Binary
statement, and put it at the top of the source file.
' Option Compare Binary
Console.WriteLine("A" < "a")
' Output: True
Example 2
The following example uses the Option Compare
statement to set the case-insensitive text sort order as the default string comparison method. To use this code, uncomment the Option Compare Text
statement, and put it at the top of the source file.
' Option Compare Text
Console.WriteLine("A" = "a")
' Output: True