Avertissement du compilateur (niveau 3) CS1717

Assignation effectuée à la même variable ; souhaitiez-vous assigner un autre élément ?

Cet avertissement se produit quand vous assignez une variable à elle-même (par exemple a = a.

Plusieurs erreurs courantes peuvent générer cet avertissement :

  • Écriture de a = a comme condition d’une instruction if , par exemple if (a = a). Vous souhaitiez probablement indiquer if (a == a), qui est toujours vrai ; vous pouvez donc mentionner de façon plus concise if (true).

  • Erreur de frappe. Vous souhaitiez probablement indiquer a = b.

  • Dans un constructeur dans lequel le paramètre porte le même nom que le champ, sans utilisation du mot clé this : vous souhaitiez probablement indiquer this.a = a.

Exemple

L’exemple suivant génère l’avertissement CS1717.

// CS1717.cs  
// compile with: /W:3  
public class Test  
{  
   public static void Main()  
   {  
      int x = 0;  
      x = x;   // CS1717  
   }  
}