Udostępnij za pośrednictwem


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 jak if (a = a). Prawdopodobnie miałeś powiedzieć if (a == a), co jest zawsze prawdziwe, więc można napisać to bardziej zwięzłie jako if (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  
   }  
}