CompareInfo kelas

Artikel ini menyediakan keterangan tambahan untuk dokumentasi referensi untuk API ini.

Konvensi untuk membandingkan dan mengurutkan data bervariasi dari budaya ke budaya. Misalnya, urutan pengurutan mungkin didasarkan pada fonetik atau pada representasi visual karakter. Dalam bahasa Asia Timur, karakter diurutkan berdasarkan goresan dan radikal ideograf. Pengurutan juga tergantung pada bahasa dan budaya pesanan yang digunakan untuk alfabet. Misalnya, bahasa Denmark memiliki karakter "Æ" yang diurutkannya setelah "Z" dalam alfabet. Selain itu, perbandingan mungkin peka huruf besar/kecil atau tidak peka huruf besar/kecil, dan aturan casing mungkin juga berbeda menurut budaya. Kelas CompareInfo ini bertanggung jawab untuk mempertahankan data perbandingan string sensitif budaya ini dan untuk melakukan operasi string yang sensitif terhadap budaya.

Biasanya, Anda tidak perlu membuat instans CompareInfo objek secara langsung, karena objek digunakan secara implisit oleh semua operasi perbandingan string non-ordinal, termasuk panggilan ke String.Compare metode . Namun, jika Anda ingin mengambil CompareInfo objek, Anda dapat melakukannya dengan salah satu cara berikut:

Nilai pencarian yang diabaikan

Set karakter termasuk karakter yang tidak dapat diabaikan, yang merupakan karakter yang tidak dipertimbangkan saat melakukan perbandingan linguistik atau peka budaya. Metode perbandingan seperti IndexOf dan LastIndexOf tidak mempertimbangkan karakter tersebut ketika mereka melakukan perbandingan yang sensitif terhadap budaya. Karakter yang tidak dapat diabaikan meliputi:

  • String.Empty. Metode perbandingan yang sensitif terhadap budaya akan selalu menemukan string kosong di awal (indeks nol) dari string yang sedang dicari.

  • Karakter atau string yang terdiri dari karakter dengan titik kode yang tidak dipertimbangkan dalam operasi karena opsi perbandingan, Khususnya, CompareOptions.IgnoreNonSpace opsi dan CompareOptions.IgnoreSymbols menghasilkan pencarian di mana simbol dan karakter gabungan nonspacing diabaikan.

  • String dengan titik kode yang tidak memiliki signifikansi linguistik. Misalnya, tanda hubung lunak (U+00AD) selalu diabaikan dalam perbandingan string yang sensitif terhadap budaya.

Pertimbangan keamanan

Jika keputusan keamanan tergantung pada perbandingan string atau perubahan kasus, Anda harus menggunakan InvariantCulture properti untuk memastikan bahwa perilaku tersebut konsisten, terlepas dari pengaturan budaya sistem operasi.

Catatan

Jika memungkinkan, Anda harus menggunakan metode perbandingan string yang memiliki parameter jenis CompareOptions untuk menentukan jenis perbandingan yang diharapkan. Sebagai aturan umum, gunakan opsi linguistik (menggunakan budaya saat ini) untuk membandingkan string yang ditampilkan di antarmuka pengguna dan tentukan Ordinal atau OrdinalIgnoreCase untuk perbandingan keamanan.