System.StringComparer 类

本文提供了此 API 参考文档的补充说明。

派生自 StringComparer 类的对象体现了基于字符串的比较、相等性和哈希代码操作,这些操作同时考虑事例和区域性特定的比较规则。 可以使用 StringComparer 该类创建特定于类型的比较来对泛型集合中的元素进行排序。 类(例如HashtableDictionary<TKey,TValue>SortedList并使用SortedList<TKey,TValue>StringComparer类进行排序。

类表示 StringComparer 的比较操作定义为区分大小写或不区分大小写,并使用单词(区域性敏感)或序号(不区分区域性)比较规则。 有关单词和序号比较规则的详细信息,请参阅 System.Globalization.CompareOptions

注意

可以下载 默认 Unicode 排序规则元素表(排序权重表的最新版本)。 排序权重表的特定版本取决于系统上安装的 Unicode 库的国际组件版本。 有关 ICU 版本及它们所实现的 Unicode 版本的信息,请参阅下载 ICU

对于 Windows 上的 .NET Framework,可以下载 排序权重表,一组文本文件,其中包含有关排序和比较操作中使用的字符权重的信息。

实现的属性

由于看似矛盾,你可能对如何使用 StringComparer 类属性感到困惑。 类 StringComparer 声明 abstractMustInherit 在 Visual Basic 中),这意味着其成员只能在派生自 StringComparer 该类的类的对象上调用。 矛盾在于,类的每个属性 StringComparer 都声明 staticShared 在 Visual Basic 中),这意味着可以在不首先创建派生类的情况下调用该属性。

可以直接调用属性 StringComparer ,因为每个属性实际上返回从 StringComparer 该类派生的匿名类的实例。 因此,每个属性值的类型是 StringComparer匿名类的基类,而不是匿名类本身的类型。 每个 StringComparer 类属性返回一个 StringComparer 支持预定义事例和比较规则的对象。