Aviso do compilador (nível 3) CS1718
Comparação feita com a mesma variável; você queria comparar outra coisa?
Se você pretende comparar com outra coisa, corrija a instrução.
Mas outra possibilidade é que você estava testando para verdadeiro ou falso, e estavam fazendo isso com instruções como if (a == a) (true)
ou if (a < a) (false)
. É melhor usar if (true)
ou if (false)
, pelos dois motivos a seguir:
É mais simples: é sempre mais claro simplesmente dizer o que você quer dizer.
Ele ajuda a evitar confusões: novos recursos do C# 2.0 são os tipos de valor anuláveis, que são análogos ao valor
null
no T-SQL, a linguagem de programação usada por SQL Server. Os desenvolvedores familiarizados com o T-SQL podem estar preocupados com o efeito de tipos de valor anuláveis em expressões comoif (a == a)
, devido ao uso da lógica ternária no T-SQL. Se usartrue
oufalse
, você evitará essa possível confusão.
O código a seguir gera o aviso CS1718.
// CS1718.cs
using System;
public class Tester
{
public static void Main()
{
int i = 0;
if (i == i) { // CS1718.cs
//if (true) {
i++;
}
}
}
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: