C# Perbandingan objek: Memahami perbezaan antara pengendali yang sama dan sama dengan () kaedah
Dalam C#, perbandingan yang sama adalah bahagian utama pengaturcaraan. Dua kaedah objek yang sama biasa digunakan adalah simbol pengkomputeran yang sama (== dan! =) Dan sama dengan () kaedah. Walau bagaimanapun, memahami perbezaan halus kedua -dua kaedah ini adalah penting untuk mengelakkan kemalangan.
simbol pengkomputeran yang sama (== dan! =)
Pengkomputeran sama (== dan! =) Jenis nilai pelaksanaan adalah sama dengan perbandingan. Untuk jenis rujukan (seperti rentetan, objek, dan lain -lain), mereka dibandingkan dengan rujukan objek, bukan kandungan sebenar objek. Ini bermakna bahawa jika kedua -dua pembolehubah rujukan menunjukkan contoh objek yang sama, == akan kembali benar, = akan kembali palsu.
Dalam contoh anda, anda membandingkan dua objek rentetan:
Kerana objek rentetan tidak berubah, mereka dianggap sebagai jenis nilai secara lalai. Oleh itu, == Perbandingan pengendali adalah nilai rentetan, yang tidak sama dalam contoh ini. Oleh itu, syarat -syarat akan dinilai sebagai palsu.
<code class="language-csharp">if (((ListBoxItem)lstBaseMenu.SelectedItem).Content == "Energy Attack") { // 执行代码 }</code>
sama () kaedahKaedah
sama () adalah kaedah maya. Tidak seperti pengendali yang sama, kaedah sama () membandingkan kandungan sebenar objek, tanpa mengira petikan mereka. untuk rentetan, kaedah sama () membandingkan urutan watak rentetan. Kerana keadaan anda melibatkan membandingkan dua perkataan rentetan aksara, kaedah sama () mengembalikan benar kerana urutan watak adalah sama.
ringkasan
Pilihan menggunakan pengendali yang sama dan sama dengan () kaedah bergantung kepada adegan tertentu dan tingkah laku yang diperlukan. Secara umumnya, == Simbol pengkomputeran harus digunakan untuk perbandingan yang sama, dan kaedah sama () harus digunakan untuk rujukan jenis perbandingan yang sama.<code class="language-csharp">if (((ListBoxItem)lstBaseMenu.SelectedItem).Content.Equals("Energy Attack")) { // 执行代码 }</code>Salin selepas log masuk
Atas ialah kandungan terperinci C# Perbandingan Kesaksamaan: Bilakah saya harus menggunakan `==` vs `sama ()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!