ReSharper 2018.1 Help

Code Inspection: Redundant control flow jump statement

If control flow does not change after you remove jump statements, such as return; or goto, these statements are redundant.

For example, using return; at the end of a void function is allowed by the compiler but it does not make the code better. A void function completes anyway when all its instructions have been executed, and control is transferred to the invoker of the method. So in this case the return; statement is redundant.

In the example below we have a redundant return; in a constructor and ReSharper suggests removing it.

Suboptimal codeAfter the quick-fix
public class MyClass { public MyClass(List<object> list) { _contents = list; Console.WriteLine(_contents.ToString()); return; } }
public class MyClass { public MyClass(List<object> list) { _contents = list; Console.WriteLine(_contents.ToString()); } }
Last modified: 20 August 2018

See Also