在数组中执行与文化无关的字符串操作

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

注释

CultureInfo.InvariantCulture 传递给比较方法会进行不区分区域性的比较。 但是,它不会导致非语言比较,例如文件路径、注册表项和环境变量。 它也不支持基于比较结果的安全决策。 对于非语言因素的比较或基于结果的安全决策支持,应用程序应选择一种能够接收StringComparison值的比较方法。 然后,应用应传递 Ordinal

另请参阅