aviso do compilador (nível 3) CS1718
Mensagem de erro
Comparação feita a mesma variável; você quis dizer comparar com outro nome?
Se você deve comparar com outra coisa, em seguida, você deverá corrigir simplesmente a demonstrativo.
Mas uma outra possibilidade é que foram testando para true ou false e estava fazendo isso por instruções, sistema autônomo if (a == a) (true) ou if (a < a) (false). É melhor simplesmente alegar if (true) ou if (false). Há dois motivos para isso:
É mais simples: é sempre mais clara simplesmente dizer o que significam.
Ele ajuda a evitar confusão: um novo recurso do translation from VPE for Csharp 2.0 é tipos de valor nulo, que são análogos ao valor null em T-SQL, a linguagem de programação usada pelo SQL servidor. sistema autônomo desenvolvedores familiarizados com o T-SQL podem se preocupar com o efeito de tipos anuláveis em expressões, sistema autônomo if (a == a), por causa do uso de lógica ternário em T-SQL. Se você usar true ou false, evitar essa confusão possível.
Exemplo
O código a seguir gera aviso CS1718.
// CS1718.cs
using System;
public class Tester
{
public static void Main()
{
int i = 0;
if (i == i) { // CS1718.cs
//if (true) {
i++;
}
}
}