Rumah > pembangunan bahagian belakang > C++ > C# Perbandingan Kesaksamaan: Bilakah saya harus menggunakan `==` vs `sama ()`?

C# Perbandingan Kesaksamaan: Bilakah saya harus menggunakan `==` vs `sama ()`?

Linda Hamilton
Lepaskan: 2025-02-01 19:01:08
asal
955 orang telah melayarinya

C# Equality Comparisons: When Should I Use `==` vs. `Equals()`?

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>
Salin selepas log masuk
sama () kaedah

Kaedah

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

<code class="language-csharp">if (((ListBoxItem)lstBaseMenu.SelectedItem).Content.Equals("Energy Attack"))
{
    // 执行代码
}</code>
Salin selepas log masuk
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.

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan