Aviso do compilador (nível 3) CS1717
Atribuição feita à mesma variável. você pretendia atribuir outro elemento?
Esse aviso ocorre quando você atribui uma variável a si mesma, como a = a
.
Vários erros comuns podem gerar este aviso:
Escrever
a = a
como a condição de uma instrução if, comoif (a = a)
. Você provavelmente quis dizerif (a == a)
, o que é sempre verdade, para que você pudesse escrever de forma mais concisa comoif (true)
.Digitação incorreta. Você provavelmente quis dizer
a = b
.Em um construtor em que o parâmetro tem o mesmo nome que o campo, não usando esta palavra-chave: você provavelmente quis dizer
this.a = a
.
Exemplo
O exemplo a seguir gera o erro CS1717.
// CS1717.cs
// compile with: /W:3
public class Test
{
public static void Main()
{
int x = 0;
x = x; // CS1717
}
}