在数组中执行不区分区域性的字符串操作

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

注意   将 CultureInfo.InvariantCulture 传递给比较方法时,将执行不区分区域性的比较。 但是,这样做不会导致对文件路径、注册表项、环境变量等进行非语义比较, 也不支持基于比较结果的安全决策。 若要进行非语义比较或支持基于结果的安全决策,应用程序应使用接受 StringComparison 值的比较方法。 因而,应用程序应传递 Ordinal

请参见

参考

Array.Sort

Array.BinarySearch

IComparer

其他资源

执行不区分区域性的字符串操作