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#?
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.