include::../description.adoc[]

== Noncompliant Code Example

----
if (string.IsNullOrEmpty(result = str.Substring(index, length))) // Noncompliant
{
  //...
}
----

== Compliant Solution

----
var result = str.Substring(index, length);
if (string.IsNullOrEmpty(result))
{
  //...
}
----

== Exceptions

Assignments inside lambda and delegate expressions are allowed. 


Furthermore, the following patterns are also accepted:

----
var a = b = c = 10;
----

----
while ((val = GetNewValue()) > 0)
{
...
}
----

----
private MyClass instance;
public MyClass Instance
{
  get
  {
    return instance ?? (instance = new MyClass());
  }
}
----

include::../see.adoc[]

ifdef::env-github,rspecator-view[]
'''
== Comments And Links
(visible only on this page)

include::comments-and-links.adoc[]
endif::env-github,rspecator-view[]
