System.StringComparer 類別

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

衍生自 StringComparer 類別的對象,體現了以字串為基礎的比較、相等和哈希程式代碼作業,這些作業同時考慮到大小寫和文化特性特定的比較規則。 您可以使用 類別 StringComparer 來建立類型特定的比較,以排序泛型集合中的專案。 、、 SortedListSortedList<TKey,TValue>HashtableDictionary<TKey,TValue>類別會StringComparer使用 類別進行排序。

類別所 StringComparer 代表的比較作業會定義為區分大小寫或區分大小寫,並使用單字(區分文化特性)或序數(不區分文化特性)比較規則。 如需文字與序數比較規則的詳細資訊,請參閱 System.Globalization.CompareOptions

注意

您可以下載 預設 Unicode 定序元素數據表,這是最新版的排序權數數據表。 排序權數數據表的特定版本取決於系統上所安裝 Unicode 連結庫的國際元件版本。 如需其實作的 ICU 版本及 Unicode 版本詳細資訊,請參閱下載 ICU

針對 Windows 上的 .NET Framework,您可以下載 排序權數數據表,這是一組文本檔,其中包含排序和比較作業中使用的字元權數資訊。

已實作的屬性

您可能會因為看似矛盾而混淆如何使用 StringComparer 類別屬性。 類別 StringComparer 宣告 abstract 為 (MustInherit 在 Visual Basic 中),這表示其成員只能在衍生自 StringComparer 類別的類別物件上叫用。 矛盾在於,類別的每個 StringComparer 屬性都會宣告 staticShared 在 Visual Basic 中),這表示不需要先建立衍生類別,就可以叫用 屬性。

您可以直接呼叫 StringComparer 屬性,因為每個屬性實際上都會傳回衍生自 類別的 StringComparer 匿名類別實例。 因此,每個屬性值的類型都是 StringComparer,這是匿名類別的基類,而不是匿名類別本身的類型。 每個 StringComparer 類別屬性都會傳 StringComparer 回支援預先定義案例和比較規則的物件。