include::../description.adoc[]

=== Exceptions

This rule doesn't raise an issue when the magic number is used as part of:

- the ``++GetHashCode++`` method
- a variable/field declaration
- the single argument of an attribute
- a named argument for a method or attribute
- a constructor call
- a default value for a method argument

include::../how-to-fix-it.adoc[]

=== Code examples

==== Noncompliant code example

[source,csharp,diff-id=1,diff-type=noncompliant]
----
public void DoSomething()
{
    for (int i = 0; i < 4; i++)  // Noncompliant, 4 is a magic number
    {
        ...
    }
}
----

==== Compliant solution

[source,csharp,diff-id=1,diff-type=compliant]
----
private const int NUMBER_OF_CYCLES = 4;

public void DoSomething()
{
    for (int i = 0; i < NUMBER_OF_CYCLES; i++)  // Compliant
    {
        ...
    }
}
----

ifdef::env-github,rspecator-view[]

'''
== 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[]
