Melakukan operasi string yang tidak peka budaya

Operasi string yang sensitif terhadap budaya menguntungkan jika Anda membuat aplikasi yang dirancang untuk menampilkan hasil kepada pengguna berdasarkan per budaya. Secara default, metode sensitif budaya mendapatkan budaya untuk digunakan dari CurrentCulture properti untuk utas saat ini.

Terkadang, operasi string yang sensitif terhadap budaya bukanlah perilaku yang diinginkan. Menggunakan operasi sensitif budaya ketika hasil harus independen dari budaya dapat menyebabkan kode aplikasi gagal pada budaya dengan pemetaan kasus kustom dan aturan pengurutan. Misalnya, lihat bagian Perbandingan String yang Menggunakan Budaya Saat Ini di Praktik Terbaik untuk Menggunakan String.

Apakah operasi string harus peka terhadap budaya atau tidak peka budaya tergantung pada bagaimana aplikasi Anda menggunakan hasilnya. Operasi string yang menampilkan hasil kepada pengguna biasanya harus peka terhadap budaya. Misalnya, jika aplikasi menampilkan daftar string yang dilokalkan dalam kotak daftar, aplikasi harus melakukan pengurutan sensitif budaya.

Hasil operasi string yang digunakan secara internal biasanya harus tidak peka terhadap budaya. Secara umum, jika aplikasi bekerja dengan nama file, format persistensi, atau informasi simbolis yang tidak ditampilkan kepada pengguna, hasil operasi string tidak boleh bervariasi menurut budaya. Misalnya, jika aplikasi membandingkan string untuk menentukan apakah itu adalah tag XML yang dikenali, perbandingan tidak boleh sensitif terhadap budaya. Selain itu, jika keputusan keamanan didasarkan pada hasil perbandingan string atau operasi perubahan kasus, operasi harus tidak peka terhadap budaya untuk memastikan bahwa hasilnya tidak terpengaruh oleh nilai CurrentCulture.

Sebagian besar metode .NET yang secara default melakukan operasi string sensitif budaya juga menyediakan kelebihan beban yang memungkinkan Anda menjamin hasil yang tidak peka terhadap budaya. Kelebihan beban ini yang mengambil CultureInfo argumen memungkinkan Anda untuk menghilangkan variasi budaya jika pemetaan dan aturan pengurutan. Untuk operasi string yang tidak sensitif terhadap budaya, tentukan budaya sebagai CultureInfo.InvariantCulture.

Di bagian ini

Artikel di bagian ini menunjukkan cara melakukan operasi string tidak sensitif budaya menggunakan metode .NET yang sensitif terhadap budaya secara default.

Melakukan perbandingan string yang tidak sensitif terhadap budaya
Menjelaskan cara menggunakan String.Compare metode dan String.CompareTo untuk melakukan perbandingan string yang tidak peka budaya.

Melakukan perubahan kasus yang tidak peka terhadap budaya
Menjelaskan cara menggunakan String.ToUppermetode , String.ToLower, Char.ToUpper, dan Char.ToLower untuk melakukan perubahan kasus yang tidak peka budaya.

Melakukan operasi string yang tidak sensitif budaya dalam koleksi
Menjelaskan cara menggunakan CaseInsensitiveComparer, CaseInsensitiveHashCodeProvider kelas, SortedList, ArrayList.Sort dan CollectionsUtil.CreateCaseInsensitiveHashtable untuk melakukan operasi yang tidak peka budaya dalam koleksi.

Melakukan operasi string yang tidak sensitif budaya dalam array
Menjelaskan cara menggunakan Array.Sort metode dan Array.BinarySearch untuk melakukan operasi yang tidak peka budaya dalam array.

Lihat juga