Derleyici Uyarısı (düzey 3) CS1718
Aynı değişkenle yapılan karşılaştırma; Başka bir şeyi karşılaştırmak mı istedin?
Başka bir şeyle karşılaştırmak istiyorsanız deyimini düzeltin.
Ancak başka bir olasılık, true veya false için test yapıyor olmanız ve bunu veya if (a < a) (false)
gibi if (a == a) (true)
deyimlerle yapıyor olmanızdır. veya if (false)
kullanmakif (true)
, aşağıdaki iki nedenden dolayı daha iyidir:
Daha basittir: Ne demek istediğinizi söylemek her zaman daha açıktır.
Karışıklığı önlemeye yardımcı olur: C# 2.0'ın yeni bir özelliği, SQL Server tarafından kullanılan programlama dili olan T-SQL'deki değere
null
benzer, boş değer türleridir. T-SQL'i bilen geliştiriciler, T-SQL'de üçüncül mantığın kullanılması nedeniyle null atanabilir değer türlerinin gibiif (a == a)
ifadeler üzerindeki etkisi konusunda kaygılanabilir. veyafalse
kullanıyorsanıztrue
, bu olası karışıklığı önlersiniz.
Aşağıdaki kod cs1718 uyarısını oluşturur.
// CS1718.cs
using System;
public class Tester
{
public static void Main()
{
int i = 0;
if (i == i) { // CS1718.cs
//if (true) {
i++;
}
}
}
.NET geri bildirimi
.NET, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin: