Code Inspection: Local variable has too wide declaration scope
ReSharper 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, ReSharper 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, ReSharper 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: 20 August 2018