Aviso do compilador (nível 3) CS1717
Atribuição feita à mesma variável; Pretendia atribuir outra coisa?
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, então você poderia escrever isso de forma mais concisa comoif (true)
.Erro de digitação. Você provavelmente quis dizer
a = b
.Em um construtor onde 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 CS1717.
// CS1717.cs
// compile with: /W:3
public class Test
{
public static void Main()
{
int x = 0;
x = x; // CS1717
}
}