Elemen <CompatSortNLSVersion>
Menentukan bahwa runtime harus menggunakan pesanan pengurutan lama saat melakukan perbandingan string.
<konfigurasi>
<runtime>
<CompatSortNLSVersion>
Sintaks
<CompatSortNLSVersion
enabled="4096"/>
Atribut dan Elemen
Bagian berikut menjelaskan atribut, elemen turunan, dan elemen induk.
Atribut
Atribut | Deskripsi |
---|---|
enabled |
Atribut yang diperlukan. Menentukan ID lokal yang urutan pengurutannya akan digunakan. |
mengaktifkan Atribut
Nilai | Deskripsi |
---|---|
4096 | ID lokal yang mewakili urutan pengurutan alternatif. Dalam hal ini, 4096 mewakili urutan jenis .NET Framework 3.5 dan versi sebelumnya. |
Elemen Anak
Tidak ada.
Elemen Induk
Elemen | Deskripsi |
---|---|
configuration |
Elemen akar di setiap file konfigurasi yang digunakan oleh runtime bahasa umum dan aplikasi .NET Framework. |
runtime |
Berisi informasi tentang opsi inisialisasi runtime bahasa umum. |
Keterangan
Karena perbandingan string, pengurutan, dan operasi casing yang dilakukan oleh kelas System.Globalization.CompareInfo di .NET Framework 4 sesuai dengan standar Unicode 5.1, hasil metode perbandingan string seperti String.Compare(String, String) dan String.LastIndexOf(String) mungkin berbeda dari versi sebelumnya. .NET Framework. Jika aplikasi Bergantung pada perilaku warisan, Anda dapat memulihkan perbandingan string dan aturan pengurutan yang digunakan dalam .NET Framework 3.5 dan versi yang lebih lama dengan menyertakan elemen <CompatSortNLSVersion>
dalam file konfigurasi aplikasi Anda.
Penting
Memulihkan perbandingan string lama dan aturan penyortiran juga memerlukan pustaka tautan dinamis sort00001000.dll tersedia di sistem lokal.
Anda juga dapat menggunakan pengurutan string warisan dan aturan perbandingan di domain aplikasi tertentu dengan meneruskan string "NetFx40_Legacy20SortingBehavior" ke metode SetCompatibilitySwitches saat Anda membuat domain aplikasi.
Contoh
Contoh berikut membuat instans dua objek String dan memanggil metode String.Compare(String, String, StringComparison) untuk membandingkannya dengan menggunakan konvensi budaya saat ini.
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
Saat Anda menjalankan contoh pada .NET Framework 4, itu menampilkan output berikut:
sta follows a in the sort order.
Ini benar-benar berbeda dari output yang ditampilkan saat Anda menjalankan contoh pada .NET Framework 3.5:
sta equals a in the sort order.
Namun, jika Anda menambahkan file konfigurasi berikut ke direktori contoh lalu menjalankan contoh pada .NET Framework 4, output identik dengan yang dihasilkan oleh contoh saat dijalankan pada .NET Framework 3,5.
<?xml version ="1.0"?>
<configuration>
<runtime>
<CompatSortNLSVersion enabled="4096"/>
</runtime>
</configuration>
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk