Option Compare 陳述式
宣告要在比較字串資料時使用的預設比較方法。
Option Compare { Binary | Text }
組件
詞彙 |
定義 |
Binary |
選擇項。所引發的字串比較是依據字元內部二進位表示所衍生的排序次序而定。 如果字串可以包含不會轉譯為文字的字元,這種比較類型就會很有用。在這種情況下,您不會想在比較字母順序是否相等 (如不區分大小寫) 時有所偏差。 |
Text |
選擇項。所引發的字串比較是依據系統地區設定 (Locale) 所決定的不區分大小寫文字排序次序而定。 如果字串包含所有文字字元,而且您想要考慮字母順序同等性 (例如不區分大小寫及緊密相關的字母) 來進行比較,這種比較類型就會很有用。例如,您可能會想將 A 和 a 視為相等,而 Ä 和 ä 則是在 B 和 b 之前。 |
備註
如果使用,在檔案中 Option Compare 陳述式必須出現在任何其他原始程式碼陳述式之前。
Option Compare 陳述式會指定字串比較方法 (Binary 或 Text)。預設的文字比較方法是 Binary。
Binary 比較會比較每個字串中每個字元的 Unicode 數值。Text比較會根據每個 Unicode 字元在目前文化特性中的語義進行比較。
在 Microsoft Windows 中,排序次序是由字碼頁 (Code Page) 決定。如需詳細資訊,請參閱 字碼頁。
在下列範例中,將使用會產生一般二進位編碼排序的 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 版本以及使用的設定會決定這些項目。如需詳細資訊,請參閱 Visual Studio 設定。 |
若要在 IDE 中設定 Option Compare
在 [方案總管] 中選取專案。在 [專案] 功能表上,按一下 [屬性]。如需詳細資訊,請參閱專案設計工具簡介。
按一下 [編譯] 索引標籤。
設定 [Option Compare] 方塊中的值。
當您建立專案時,[編譯] 索引標籤上的 [Option Compare] 設定會設定為 [選項] 對話方塊中的 [Option Compare] 設定。若要變更這個設定,請按一下 [工具] 功能表上的 [選項]。在 [選項] 對話方塊中,展開 [專案和方案],然後按一下 [VB 預設值]。在 [VB 預設值] 中的初始預設設定是 [Binary]。
若要在命令列上設定 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)