Avertissement du compilateur (niveau 3) CS1718
Comparaison effectuée avec la même variable ; souhaitiez-vous comparer autre chose ?
Si vous vouliez effectuer un comparaison avec autre chose, corrigez l’instruction.
Mais il est également possible que vous vouliez tester les valeurs true et false à l’aide d’instructions telles que if (a == a) (true)
ou if (a < a) (false)
. Il est préférable d’utiliser if (true)
ou if (false)
, pour les deux raisons suivantes :
C’est plus simple : pour être clair, il vaut mieux rester simple.
Cela permet d’éviter toute confusion : les types valeur Nullable sont une nouveauté de C# 2.0 et sont similaires à la valeur
null
de T-SQL, le langage de programmation utilisé par SQL Server. Les développeurs qui connaissent T-SQL peuvent s’inquiéter de l’effet des types de valeur Nullable dans des expressions telles queif (a == a)
, car cela implique l’utilisation de la logique ternaire dans T-SQL. Si vous utiliseztrue
oufalse
, vous évitez toute confusion.
Le code suivant génère l’avertissement CS1718.
// CS1718.cs
using System;
public class Tester
{
public static void Main()
{
int i = 0;
if (i == i) { // CS1718.cs
//if (true) {
i++;
}
}
}
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :