İngilizce dilinde oku

Aracılığıyla paylaş


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 gibi if (a == a)ifadeler üzerindeki etkisi konusunda kaygılanabilir. veya falsekullanıyorsanıztrue, bu olası karışıklığı önlersiniz.

Örnek

Aşağıdaki kod cs1718 uyarısını oluşturur.

C#
// CS1718.cs  
using System;  
public class Tester
{  
    public static void Main()
    {
        int i = 0;  
        if (i == i) { // CS1718.cs  
        //if (true) {
            i++;  
        }  
    }  
}