在数组中执行不区分区域性的字符串运算

默认情况下,Array.SortArray.BinarySearch 方法重载使用 Thread.CurrentCulture 属性执行区域性敏感型排序。 由于排序顺序不同,因此这些方法返回的区域性敏感型结果可能会因区域性而异。 若要消除区域性敏感型行为,请使用需要使用 comparer 参数的此方法重载之一。 comparer 参数指定要在比较数组元素时使用的 IComparer 实现。 对于参数,指定使用 CultureInfo.InvariantCulture 的自定义固定比较器类。 在集合中执行非区域性敏感型字符串运算主题的“使用 SortedList 类”子主题提供了自定义固定比较器类的示例。

注意

向比较方法传递 CultureInfo.InvariantCulture 确实会执行非区域性敏感型比较。 但是,这不会导致对文件路径、注册表项、环境变量等进行非语义比较。 也不支持基于比较结果的安全决策。 若要进行非语义比较或支持基于结果的安全决策,应用应使用接受 StringComparison 值的比较方法。 然后,应用应传递 Ordinal

另请参阅