== Why is this an issue? Re-assigning a variable to itself is a defect as it has no actual effect and indicates meaning to do something else. It usually means that: * The statement is redundant and should be removed * The re-assignment is a mistake, and another value or variable was intended for the assignment instead === Code examples ==== Noncompliant code example [source,csharp,diff-id=1,diff-type=noncompliant] ---- public class Choice { private bool selected; public void MakeChoice(bool selected) { selected = selected; // Noncompliant } } ---- ==== Compliant solution [source,csharp,diff-id=1,diff-type=compliant] ---- public class Choice { private bool selected; public void MakeChoice(bool selected) { this.selected = selected; // Compliant } } ---- == Resources === Documentation * Microsoft Learn - https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs1717[Compiler Warning (level 3) CS1717] ifdef::env-github,rspecator-view,env-vscode[] ''' == Implementation Specification (visible only on this page) include::../message.adoc[] ''' == Comments And Links (visible only on this page) include::../comments-and-links.adoc[] endif::env-github,rspecator-view,env-vscode[]