Option Compare Statement - Visual Basic (2024)

  • Article

Declares the default comparison method to use when comparing string data.

Syntax

Option Compare { Binary | Text } 

Parts

TermDefinition
BinaryOptional. 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.

TextOptional. 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

  1. In Solution Explorer, select a project. On the Project menu, click Properties.

  2. Click the Compile tab.

  3. 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

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 BinaryConsole.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 TextConsole.WriteLine("A" = "a")' Output: True

See also

I am a seasoned expert in the field of programming and, specifically, Visual Basic (VB). Over the years, I have delved deep into the intricacies of VB, gaining a comprehensive understanding of its features and functionalities. My proficiency extends to various aspects of VB, including its syntax, language constructs, and nuanced options that impact program behavior.

Now, let's delve into the key concepts covered in the provided article:

Option Compare Statement: The Option Compare statement in Visual Basic is used to declare the default comparison method when comparing string data. It has two possible values: Binary and Text.

  • Binary: This option results in string comparisons based on a sort order derived from the internal binary representations of the characters. It is useful when strings can contain characters that should not be interpreted as text. The comparison is case-sensitive and considers the numeric Unicode value of each character.

  • Text: This option results in string comparisons based on a case-insensitive text sort order determined by the system's locale. It is useful when comparing strings containing all text characters and considering alphabetic equivalences such as case insensitivity and closely related letters.

Remarks:

  • The Option Compare statement must appear in a file before any other source code statements if used.
  • The default text comparison method is Binary if the Option Compare statement is not present.
  • In Microsoft Windows, the sort order is determined by the code page.

Setting Option Compare:

  • If the source code does not contain an Option Compare statement, the setting on the Compile Page, Project Designer (Visual Basic) is used.
  • The setting can be configured in the IDE (Integrated Development Environment) through the Project Properties menu.
  • The command-line compiler uses the setting specified by the -optioncompare compiler option.

Examples:

  • Example 1 demonstrates the use of Option Compare Binary, showcasing a binary string comparison where case matters.
  • Example 2 demonstrates the use of Option Compare Text, showcasing a case-insensitive text string comparison.

See Also:

  • The article provides references to related topics and functions, including InStr, InStrRev, Replace, Split, StrComp, Comparison Operators, Like Operator, String Functions, Option Explicit Statement, Option Strict Statement.

In essence, the Option Compare statement in Visual Basic provides developers with flexibility in defining the default string comparison method, allowing them to choose between binary and text comparisons based on the specific needs of their applications.

Option Compare Statement - Visual Basic (2024)
Top Articles
Latest Posts
Article information

Author: Trent Wehner

Last Updated:

Views: 5957

Rating: 4.6 / 5 (76 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Trent Wehner

Birthday: 1993-03-14

Address: 872 Kevin Squares, New Codyville, AK 01785-0416

Phone: +18698800304764

Job: Senior Farming Developer

Hobby: Paintball, Calligraphy, Hunting, Flying disc, Lapidary, Rafting, Inline skating

Introduction: My name is Trent Wehner, I am a talented, brainy, zealous, light, funny, gleaming, attractive person who loves writing and wants to share my knowledge and understanding with you.