Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Указывает, что среда выполнения должна использовать устаревшие заказы сортировки при выполнении сравнения строк.
<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>