CompareOptions 枚舉

本文提供此 API 參考文件的補充備註。

選項 CompareOptions 表示區分大小寫或必須忽略字元類型。

.NET 使用三種不同的排序方式:文字排序、字串排序和序數排序。 文字排序會執行區分文化特性的字串比較。 某些非虛構字元可能會有特殊權數指派給他們。 例如,連字元 (“-”) 可能指派了非常小的權數,如此一來,「coop」和「共同作業」就會出現在已排序的清單中。 字串排序類似於文字排序,不同之處在於沒有特殊案例。 因此,所有非虛構符號都會在所有英數位元之前。 序數排序會根據字串每個元素的 Unicode 值來比較字串。 如需一組可下載的文本檔,其中包含用於 Windows 作業系統排序和比較作業之字元權數的資訊,請參閱 排序權數數據表。 如需 Linux 和 macOS 的排序權數數據表,請參閱 預設 Unicode 定序元素數據表。 Linux 和 macOS 上的特定版本排序權數資料表,取決於在系統上安裝的 International Components for Unicode 程式庫。 如需其實作的 ICU 版本及 Unicode 版本詳細資訊,請參閱下載 ICU

StringSort只能與 和CompareInfo.GetSortKey搭配CompareInfo.Compare使用。 ArgumentException如果 StringSort 值與 、、 CompareInfo.IsSuffixCompareInfo.IndexOfCompareInfo.LastIndexOf搭配CompareInfo.IsPrefix使用,則會擲回 。

注意

可能的話,您應該使用接受 CompareOptions 值的字串比較方法來指定預期的比較類型。 一般情況下,使用者對向比較最適合使用語言選項(使用目前文化特性),而安全性比較應指定 OrdinalOrdinalIgnoreCase

區分文化特性的排序

注意

僅限 Linux 和 macOS 系統上執行的 .NET Core: C 和 Posix 文化特性的定序行為一律會區分大小寫,因為這些文化特性不會使用預期的 Unicode 定序順序。 建議您使用 C 或 Posix 以外的文化特性來執行區分文化特性、不區分大小寫的排序作業。