JetBrains Rider 2018.2 Help

Code Inspection: Local variable has too wide declaration scope

JetBrains Rider suggests moving the declaration of a local variable closer to its usage. If a variable is not used outside a block of instructions, it is a good practice to declare it within that block.

In the example, JetBrains Rider suggests moving the declaration of tmpvar inside the for loop, where tmpvar is used.

Suboptimal code

After the quick-fix

private static char[] MyMethod(char[] x) { char tmpvar; for (int i = 0; i < x?.Length / 2; i++) { tmpvar = x[i]; x[i] = x[x.Length - 1 - i]; x[x.Length - 1 - i] = tmpvar; } return x; }

private static char[] MyMethod(char[] x) { for (int i = 0; i < x?.Length / 2; i++) { var tmpvar = x[i]; x[i] = x[x.Length - 1 - i]; x[x.Length - 1 - i] = tmpvar; } return x; }

If possible, JetBrains Rider will automatically join the declaration and assignment, and according to the default preferences will change the explicit variable type to var when it applies this quick-fix.

Last modified: 19 October 2018

See Also