在数组中执行不区分区域性的字符串运算
默认情况下,Array.Sort 和 Array.BinarySearch 方法重载使用 Thread.CurrentCulture 属性执行区域性敏感型排序。 由于排序顺序不同,因此这些方法返回的区域性敏感型结果可能会因区域性而异。 若要消除区域性敏感型行为,请使用需要使用 comparer
参数的此方法重载之一。 comparer
参数指定要在比较数组元素时使用的 IComparer 实现。 对于参数,指定使用 CultureInfo.InvariantCulture 的自定义固定比较器类。 在集合中执行非区域性敏感型字符串运算主题的“使用 SortedList 类”子主题提供了自定义固定比较器类的示例。
注意
向比较方法传递 CultureInfo.InvariantCulture 确实会执行非区域性敏感型比较。 但是,这不会导致对文件路径、注册表项、环境变量等进行非语义比较。 也不支持基于比较结果的安全决策。 若要进行非语义比较或支持基于结果的安全决策,应用应使用接受 StringComparison 值的比较方法。 然后,应用应传递 Ordinal。