Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Melaksanakan Perbandingan Rentetan Kes-Insensitif dalam .NET Dengan Cekap?

Bagaimana untuk Melaksanakan Perbandingan Rentetan Kes-Insensitif dalam .NET Dengan Cekap?

DDD
DDDasal
2025-01-19 12:56:10683semak imbas

How to Perform Case-Insensitive String Comparisons in .NET Efficiently?

Perbandingan rentetan tidak sensitif huruf dalam .NET

Melaksanakan perbandingan rentetan tidak sensitif huruf besar-besaran adalah penting dalam banyak tugas pengaturcaraan. Artikel ini akan membincangkan cara menangani isu ini dengan cekap.

Matlamatnya adalah untuk menjadikan baris kod berikut mengabaikan huruf besar:

<code>drUser["Enrolled"] = (enrolledUsers.FindIndex(x => x.Username == (string)drUser["Username"]) != -1);</code>

Menggunakan kaedah Equals dan StringComparison.OrdinalIgnoreCase nampaknya berkesan:

<code>x.Username.Equals((string)drUser["Username"], StringComparison.OrdinalIgnoreCase)));</code>

Walau bagaimanapun, menggunakan kaedah ini dalam ungkapan FindIndex tidak menghasilkan hasil yang diharapkan.

Masalah utama ialah penggunaan x.Username.Equals. Walaupun kaedah ini mengendalikan perbandingan tidak sensitif huruf besar-besaran secara dalaman, kaedah ini tidak mengembalikan indeks elemen padanan.

Amalan terbaik untuk perbandingan rentetan tidak sensitif huruf besar .NET

Untuk melaksanakan perbandingan rentetan tidak peka huruf besar-kecil dengan betul dalam .NET, disyorkan untuk menggunakan kaedah String.Compare dan StringComparison.OrdinalIgnoreCase:

<code>String.Compare(x.Username, (string)drUser["Username"], StringComparison.OrdinalIgnoreCase) == 0</code>

Sebagai alternatif, anda boleh menggunakan kaedah String.Equals dan bendera StringComparison.OrdinalIgnoreCase:

<code>String.Equals(x.Username, (string)drUser["Username"], StringComparison.OrdinalIgnoreCase)</code>

MSDN mengesyorkan kaedah ini untuk menguji kesamaan rentetan dan menyusun rentetan masing-masing:

  • String.Equals: untuk menguji kesaksamaan
  • String.Compare dan String.CompareTo: digunakan untuk mengisih

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Perbandingan Rentetan Kes-Insensitif dalam .NET Dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn