Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Указывает, что среда выполнения должна использовать устаревшие заказы сортировки при выполнении сравнения строк.
<configuration>
<runtime>
<CompatSortNLSVersion>
Синтаксис
<CompatSortNLSVersion
enabled="4096"/>
Атрибуты и элементы
В следующих разделах описаны атрибуты, дочерние и родительские элементы.
Attributes
| Свойство | Description |
|---|---|
enabled |
Обязательный атрибут. Указывает идентификатор языкового стандарта, порядок сортировки которого требуется использовать. |
Атрибут с поддержкой
| Ценность | Description |
|---|---|
| 4096 | Идентификатор языкового стандарта, представляющий альтернативный порядок сортировки. В этом случае 4096 представляет порядок сортировки .NET Framework 3.5 и более ранних версий. |
Дочерние элементы
Нет.
Родительские элементы
| Элемент | Description |
|---|---|
configuration |
Корневой элемент в любом файле конфигурации, используемом средой CLR и приложениями .NET Framework. |
runtime |
Содержит сведения о параметрах инициализации среды выполнения. |
Замечания
Так как операции сравнения строк, сортировки и регистра, выполняемые System.Globalization.CompareInfo классом в .NET Framework 4, соответствуют стандарту Юникода 5.1, результаты методов сравнения строк, например String.Compare(String, String) и String.LastIndexOf(String) могут отличаться от предыдущих версий .NET Framework. Если приложение зависит от устаревшего поведения, можно восстановить правила сравнения строк и сортировки, используемые в .NET Framework 3.5 и более ранних версиях, включив <CompatSortNLSVersion> элемент в файл конфигурации приложения.
Это важно
Для восстановления устаревших правил сравнения строк и сортировки также требуется, чтобы библиотека динамических ссылок sort00001000.dll была доступна в локальной системе.
Вы также можете использовать устаревшие правила сортировки и сравнения строк в определенном домене приложения, передав строку "NetFx40_Legacy20SortingBehavior" SetCompatibilitySwitches методу при создании домена приложения.
Example
В следующем примере создается экземпляр двух String объектов и вызывается String.Compare(String, String, StringComparison) метод для сравнения с помощью соглашений текущего языка и региональных параметров.
using System;
enum StringComparisonResult
{
precedes = -1,
equals = 0,
follows = 1,
};
public class Example
{
public static void Main()
{
string str1 = new string( new char[] {'\u0219', '\u021B', 'a' });
string str2 = "a";
Console.WriteLine("{0} {1} {2} in the sort order.",
str1,
(StringComparisonResult) String.Compare(str1, str2, StringComparison.CurrentCulture),
str2);
}
}
Enum StringComparisonResult As Integer
precedes = -1
equals = 0
follows = 1
End Enum
Module Example
Public Sub Main()
Dim str1 As String = ChrW(&h219) + ChrW(&h21B) + "a"
Dim str2 As String = "a"
Console.WriteLine("{0} {1} {2} in the sort order.", _
str1, _
CType(String.Compare(str1, str2, StringComparison.CurrentCulture), StringComparisonResult), _
str2)
End Sub
End Module
При запуске примера в .NET Framework 4 он отображает следующие выходные данные:
sta follows a in the sort order.
Это совершенно отличается от выходных данных, отображаемых при запуске примера в .NET Framework 3.5:
sta equals a in the sort order.
Однако если добавить следующий файл конфигурации в каталог примера, а затем запустить пример в .NET Framework 4, выходные данные идентичны тому, что создается в примере при запуске в .NET Framework 3.5.
<?xml version ="1.0"?>
<configuration>
<runtime>
<CompatSortNLSVersion enabled="4096"/>
</runtime>
</configuration>