Ostrzeżenie kompilatora (poziom 3) CS1717
Przypisanie wykonane do tej samej zmiennej; czy masz na myśli przypisanie czegoś innego?
To ostrzeżenie występuje podczas przypisywania zmiennej do siebie, takiej jak a = a
.
To ostrzeżenie może spowodować kilka typowych błędów:
Pisanie
a = a
jako warunku instrukcji if , takiej jakif (a = a)
. Prawdopodobnie miałeś powiedziećif (a == a)
, co jest zawsze prawdziwe, więc można napisać to bardziej zwięzłie jakoif (true)
.Mistyping. Prawdopodobnie miałeś powiedzieć
a = b
.W konstruktorze, w którym parametr ma taką samą nazwę jak pole, a nie przy użyciu tego słowa kluczowego: prawdopodobnie miałeś powiedzieć
this.a = a
.
Przykład
Poniższy przykład generuje CS1717.
// CS1717.cs
// compile with: /W:3
public class Test
{
public static void Main()
{
int x = 0;
x = x; // CS1717
}
}