kzen.dev
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
Nicholas Murray
Nicholas Murray
Question

Kapan menggunakan !() atau != ketika jika tidak null

Sementara refactoring kode, saya mengubah semua kondisi if not null untuk mengikuti konvensi mayoritas dalam kode saya

if (!(foo == null))

bukannya

if (foo != null)

Apakah ada keuntungan dalam kedua pernyataan itu?

Apakah ada keuntungan dari kedua pernyataan tersebut dalam c#?

21 2012-01-05T09:40:11+00:00 3
Pemrograman
coding-style
c#
Pertanyaan ini memiliki :value jawaban dalam bahasa Inggris, untuk membacanya masuk ke akun Anda.
Solution / Answer
 Oded
Oded
5 Januari 2012 в 9:41
2012-01-05T09:41:29+00:00
Lebih
Sumber
Sunting
#15113939

Menurut saya, yang kedua lebih mudah dibaca.

Selain dari itu, tidak ada perbedaan.

Lebih penting untuk memilih konvensi dengan tim Anda dan mematuhinya dalam satu basis kode tertentu.

30
0
Jon Skeet
Jon Skeet
5 Januari 2012 в 9:42
2012-01-05T09:42:11+00:00
Lebih
Sumber
Sunting
#15113940

Dengan asumsi Anda tidak memiliki overload operator == / != yang rusak, saya hanya akan menggunakan bentuk kedua untuk kepentingan kesederhanaan / keterbacaan. Jika Anda do memiliki overload yang rusak sehingga ada perbedaan semantik antara keduanya, maka saya sarankan untuk memperbaiki overload tersebut :)

Dalam kasus yang jarang terjadi di mana foo == null adalah indikasi yang lebih jelas dari sesuatu, saya mungkin akan merefaktornya untuk menggunakan variabel lokal:

bool somethingIsMissing = foo == null;
if (!somethingIsMissing)
{
    ...
}

Tanda kurung di sekeliling foo == null sekarang opsional - gunakan atau tidak, sesuai selera. Hal yang utama adalah bahwa Anda dapat menggunakan nama variabel untuk membuat makna semantik sangat jelas.

10
0
 rekire
rekire
5 Januari 2012 в 9:42
2012-01-05T09:42:30+00:00
Lebih
Sumber
Sunting
#15113941

Menurut saya, tidak ada perbedaan, kompiler akan mengoptimalkan kode. Tetapi saya lebih suka if(foo != null). Lebih sedikit tanda kurung dan lebih mudah dibaca.

 codeling
codeling
Jawaban edit 5 Januari 2012 в 9:50
2
0
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
工藤 芳則
Terdaftar 6 hari yang lalu
2
Ирина Беляева
Terdaftar 1 minggu yang lalu
3
Darya Arsenyeva
Terdaftar 1 minggu yang lalu
4
anyta nuam-nuam (LapuSiK)
Terdaftar 1 minggu yang lalu
5
Shuhratjon Imomkulov
Terdaftar 1 minggu yang lalu
ID
JA
© kzen.dev 2023
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi