Lezen in het Engels

Delen via


Compilerwaarschuwing (niveau 3) CS1718

Vergelijking van dezelfde variabele; Wilde je iets anders vergelijken?

Als u iets anders wilt vergelijken, corrigeert u de instructie.

Maar een andere mogelijkheid is dat u testte op waar of onwaar, en dit deed door instructies zoals if (a == a) (true) of if (a < a) (false). Het is beter om te gebruiken if (true) of if (false)om de volgende twee redenen:

  • Het is eenvoudiger: het is altijd duidelijker om gewoon te zeggen wat je bedoelt.

  • Het helpt verwarring te voorkomen: een nieuwe functie van C# 2.0 is null-waardetypen, die vergelijkbaar zijn met de waarde null in T-SQL, de programmeertaal die wordt gebruikt door SQL Server. Ontwikkelaars die bekend zijn met T-SQL kunnen zich zorgen maken over het effect van null-waardetypen op expressies zoals if (a == a), vanwege het gebruik van ternaire logica in T-SQL. Als u dit gebruikt true of false, vermijdt u deze mogelijke verwarring.

Opmerking

Met de volgende code wordt waarschuwing CS1718 gegenereerd.

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