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 の並べ替え順序は、コード ページによって決まります。詳細については、「コード ページ」を参照してください。
次の例では、英語/ヨーロッパ語のコード ページ (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 を設定するには
ソリューション エクスプローラーでプロジェクトを選択します。[プロジェクト] メニューの [プロパティ] をクリックします。詳細については、「プロジェクト デザイナーの概要」を参照してください。
[コンパイル] タブをクリックします。
[Option Compare] ボックスで値を設定します。
プロジェクトを作成するとき、[コンパイル] タブの [Option Compare] 設定は、[オプション] ダイアログ ボックスの [Option Compare] 設定の内容に設定されます。この設定を変更するには、[ツール] メニューの [オプション] をクリックします。[オプション] ダイアログ ボックスで、[プロジェクトおよびソリューション] を展開し、[Visual Basic の既定値] をクリックします。[Visual Basic の既定値] の既定の初期設定は [バイナリ] です。
コマンド ラインで Option Compare を設定するには
- vbc コマンドに /optioncompare コンパイラ オプションを指定します。
使用例
次の例は、Option Compare ステートメントを使用して、既定の文字列比較方法にバイナリ モードを設定します。このコードを使用するには、Option Compare Binary ステートメントをコメントから外して、ソース ファイルの最初に配置します。
' Option Compare Binary
Console.WriteLine("A" < "a")
' Output: True
次の例は、Option Compare ステートメントを使用して、既定の文字列比較方法に大文字と小文字を区別しないテキスト モードのソート順を設定します。このコードを使用するには、Option Compare Text ステートメントをコメントから外して、ソース ファイルの最初に配置します。
' Option Compare Text
Console.WriteLine("A" = "a")
' Output: True
参照
関連項目
Option Explicit ステートメント (Visual Basic)