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 zoalsif (a == a)
, vanwege het gebruik van ternaire logica in T-SQL. Als u dit gebruikttrue
offalse
, vermijdt u deze mogelijke verwarring.
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++;
}
}
}
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven: