Sdílet prostřednictvím


Provádění operací řetězců bez rozlišení jazykové verze v polích

Array.Sort Přetížení a Array.BinarySearch metody provádějí řazení citlivá na jazykovou verzi ve výchozím nastavení pomocí Thread.CurrentCulture vlastnosti. Výsledky citlivé na jazykovou verzi vrácené těmito metodami se můžou lišit podle jazykové verze kvůli rozdílům v pořadí řazení. Chcete-li eliminovat chování citlivé na jazykovou verzi, použijte jedno z přetížení této metody, která přijímá comparer parametr. Parametr comparer určuje implementaci, která IComparer se má použít při porovnávání prvků v poli. Pro parametr zadejte vlastní invariantní porovnávací třídu, která používá CultureInfo.InvariantCulture. Příklad vlastní invariantní porovnávací třídy je uveden v podtopii "Using the SortedList Class" v tématu Provádění operací řetězců nerozlišující jazykovou verzi v tématu kolekcí .

Poznámka:

Předání CultureInfo.InvariantCulture metodě porovnání provádí porovnání bez rozlišení jazykové verze. Nezpůsobí ale jazykové porovnání, například pro cesty k souborům, klíče registru a proměnné prostředí. Ani to nepodporuje rozhodnutí o zabezpečení na základě výsledku porovnání. Pro nejazyčné porovnání nebo podporu rozhodnutí o zabezpečení na základě výsledků by aplikace měla použít metodu StringComparison porovnání, která přijímá hodnotu. Aplikace by pak měla předat Ordinal.

Viz také